Я только недавно начал использовать Python модуль регистрации. Я прочитал документы и некоторые руководства, но все еще не понимаю, почему уровни ведения журнала работают так, как они.
У меня есть регистратор, определенный в начале сценария:
import logging
log_file = f'test.log'
logger = logging.getLogger(__name__)
f_handler = logging.FileHandler(log_file)
f_handler.setLevel(logging.INFO)
f_format = logging.Formatter(fmt='%(asctime)s - %(levelname)s - %(message)s',
datefmt='%d/%m/%Y %H:%M:%S')
f_handler.setFormatter(f_format)
logger.addHandler(f_handler)
logger.info('Initialising.')
Затем во всем коде у меня есть несколько вызовов этому логгеру - некоторые info
, некоторые exceptions
и warnings
.
Тем не менее, по какой-то причине при текущей настройке я получаю только один warning
сообщение, если есть, хотя я думал, что должен получать все сообщения выше, включая INFO
уровень.
Чтобы попытаться проверить это, я переключил регистратор на DEBUG
, но получил пустой журнал как результат.
По крайней мере, я ожидаю увидеть следующие info
сообщения в журнале:
self.logger.info('Initialising.') #Right in the __init__ of the class
self.logger.info(f'Using {self.export_file} for export data.') #This one should always be printing unless script fails at the very start
self.logger.info(f'Using {self.model_file} model to predict values.') #Same with this one
self.logger.info('Encoding into a model completed successfully.') #This one as well if script completes successfully, which it normally does
Я, должно быть, что-то делаю не так, но я не уверен, что точно.