Как я могу реализовать вход в Python для нескольких модулей - PullRequest
0 голосов
/ 24 апреля 2019

Env Summary:

Привет, у меня есть проект Python, где я запрашиваю некоторую информацию из системы хранения и отображаю ее на экране.

Env:

модуль-исполнитель Модуль rest имеет класс RestThreePar Модуль хранения модуля имеет класс StorageBox Модуль Locator имеет класс Locater

Проблема:

Я хочу реализовать один модуль / класс для регистрации в проекте отверстия, который должен записывать материал в 4 разных файла (каждый модуль имеет свой собственный файл журнала).Когда я импортирую запись в журнал отдельно для каждого модуля, он работает как ожидалось, но всякий раз, когда я пытаюсь создать отдельный класс и импортировать его (например, из logger import Logger), происходит сбой (я не уверен, но похоже, что он записывает одну строку несколько разв файлах).

Я не разработчик и не знаю, что делать дальше.

Я пытался использовать документацию по Python, но безуспешно.https://docs.python.org/3.6/howto/logging-cookbook.html

import logging
import os

class Logger:
    def __init__(self, cls_name, file):
        self.cls_name = cls_name
        current_dir = os.getcwd()
        self.file = f'{current_dir}/logs/{file}'

    def log(self):
        logger = logging.getLogger(self.cls_name)
        logger.setLevel(logging.INFO)

        formatter = logging.Formatter('%(asctime)s,%(levelname)s,%(name)s,%(message)s')

        file_handler = logging.FileHandler(self.file)
        file_handler.setFormatter(formatter)
        logger.addHandler(file_handler)

        return logger

    def log_info(self, msg):
        logger = self.log()
        logger.info(msg)

    def log_exception(self, msg):
        logger = self.log()
        logger.exception(msg)


if __name__ == '__main__':
    pass

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...