Я использую файл конфигурации регистрации:
[loggers]
keys = root
[handlers]
keys = consoleHandler, fileHandler
[formatters]
keys = fullFormatter, minimalFormatter
; loggers
[logger_root]
level = DEBUG
handlers = consoleHandler, fileHandler
; handlers
[handler_consoleHandler]
class = StreamHandler
level = INFO
formatter = fullFormatter
args = (sys.stdout,)
[handler_fileHandler]
class = FileHandler
level = DEBUG
formatter = fullFormatter
args = ('/tmp/bla.log', 'a',)
; formatters
[formatter_minimalFormatter]
format = %(asctime)s :: %(message)s
[formatter_fullFormatter]
format = %(asctime)s :: %(name)s :: %(levelname)s :: %(message)s
И я хочу создать новый регистратор logging.getLogger('bla')
, который бы динамически направлял обработчик файла куда-то еще. Возможно ли это?
Как я использую это:
import logging
import logging.config
logging.config.fileConfig('my.conf')
logging.getLogger('bla').info('bla')
это будет печатать в консоль и в файл.
Я хочу иметь возможность сделать что-то вроде logging.getLogger('bla', 'new_file_path').info('bla')
и распечатайте его в new_file_path