В моем текущем проекте есть тысячи строк кода, которые выглядят следующим образом:
logging.info("bla-bla-bla")
Я не хочу менять все эти строки, но я бы изменил поведение журнала. Моя идея заключается в изменении корневого регистратора на другой регистратор Experimental
, который настраивается ini файлом:
[loggers]
keys = Experimental
[formatter_detailed]
format = %(asctime)s:%(name)s:%(levelname)s %(module)s:%(lineno)d: %(message)s
[handler_logfile]
class = FileHandler
args = ('experimental.log', 'a')
formatter = detailed
[logger_Experimental]
level = DEBUG
qualname = Experimental
handlers = logfile
propagate = 0
Теперь установка нового корневого регистратора выполняется с помощью этой части кода:
logging.config.fileConfig(path_to_logger_config)
logging.root = logging.getLogger('Experimental')
Является ли переопределение корневого регистратора безопасным? Может быть, есть более удобный способ?
Я пытался использовать google и просматривал вопросы о стеке, но я не нашел ответа.