Я использую лог файл conf. Попытка получить разные файлы для каждого пользователя. Он работает нормально, создает файлы с именами пользователей, которых я передаю. Но затем, когда я пытаюсь создать запись в журнале для каждого пользователя с помощью: 'user1.logging.info (...)' и ' user2.logging.info (...) ', оба входа входят в файл журнала user2. Почему?
logging.conf файл:
[loggers]
keys = root, user
[handlers]
keys = consoleHandler, userFileHandler
[formatters]
keys = Formatter
[logger_root]
level = DEBUG
handlers = consoleHandler
[logger_user]
level = DEBUG
handlers = consoleHandler, userFileHandler
qualname = user
propagate = 0
[handler_consoleHandler]
class = StreamHandler
level = DEBUG
formatter = Formatter
args = (sys.stdout,)
[handler_userFileHandler]
class = FileHandler
level = DEBUG
formatter = Formatter
args = ('%(logfilename)s', 'a+')
[formatter_Formatter]
format = %(asctime)s [%(funcName)s] [%(levelname)s] %(message)s
datefmt = %Y-%m-%d %H:%M:%S
класс:
class User:
"""" Users instantiation class """
def __init__(self, email, password):
self.email = email
self.password = password
self.logger = self.Logger()
def __repr__(self):
return '{}'.format(self.email)
def Logger(self):
""" Users loggers instantiation """
logging.config.fileConfig('log/logging.conf', defaults={'logfilename': 'log/{}.log'.format(self.email)})
logger = logging.getLogger('user')
logger.info('info log for: {}'.format(self.email)) # That entrance works fine
return logger