Вход в Python с помощью файла конфигурации - Использование обработчиков, определенных в файле с помощью кода

Я использую модуль протоколирования Python. Как я могу получить доступ к обработчикам, определенным в файле конфигурации, из кода. В качестве примера у меня определен регистратор и два обработчика - один для экрана, а другой для файла. Я хочу использовать соответствующий обработчик в зависимости от предпочтений пользователя (хотят ли они войти на экран или в файл). Как я могу динамически добавлять и удалять обработчики, определенные в файле конфигурации, из средств ведения журнала, определенных в файле конфигурации?

[loggers]

keys=root,netmap

[handlers]
keys=fil,screen

[logger_root]
level=NOTSET
handlers=

[logger_netmap]
level=INFO
handlers=fil,screen
qualname=netmap

[formatters]
keys = simple

[formatter_simple]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=

[handler_fil]
class=handlers.RotatingFileHandler
args=('file.log','a','maxBytes=10000','backupCount=5')
formatter=simple

[handler_screen]
class=StreamHandler
args = (sys.stdout,)
formatter=simple

В зависимости от того, запускает ли пользователь программу с -v или нет, мне нужно использовать один из обработчиков файлов или экранов. Как мне добавить или удалить обработчики fil или screen из регистратора сетевых карт?

11
задан Plasma 27 July 2014 в 00:03
поделиться