Можно ли создать регистратор, используя файл конфигурации, с параметризованным файлом для обработчика файлов? - PullRequest
0 голосов
/ 16 января 2020

Я использую файл конфигурации регистрации:

[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

...