2015-11-23 4 views
0

Я использую logging.config.dictConfig в моем питона применения:Общие настройки регистратора в протоколирования Python dictConfig

LOGGING = { 
    'version': 1, 
    'disable_existing_loggers': False, 

    'formatters': { 
     'verbose': { 
      """ MY_FORMATTER_SETTINGS """ 
     }, 
    }, 

    'handlers': { 
     'file': { 
      'level': 'DEBUG', 
      'class': 'logging.FileHandler', 
      'filename': '/var/log/mylogger.log', 
      'formatter': 'verbose' 
     }, 
    }, 

    'loggers': { 
     'logger1': { 
      'handlers': ['file'], 
      'level': 'DEBUG', 
     }, 
     'logger2': { 
      'handlers': ['file'], 
      'level': 'DEBUG', 
     }, 
     'logger3': { 
      'handlers': ['file'], 
      'level': 'DEBUG', 
     }, 
     'logger4': { 
      'handlers': ['file'], 
      'level': 'DEBUG', 
     }, 
    } 
} 

logging.config.dictConfig(LOGGING) 

Затем я создаю лесорубов в некоторых модулях через logger = logging.getLogger("logger1") и т.д., и использовать их, например logger.info("Some info"), без каких-либо дополнительных настроек. Мне это нравится, но только я хочу оптимизировать настройку loggers, предоставляя некоторые общие (или по умолчанию?) Значения для всех регистраторов. Является ли это возможным?

+0

Что вы хотите сказать? – wflynny

ответ

1

Что произойдет, если вы определите корневой регистратор в разделе «Журналы»?

'loggers': { 
     #root logger 
     '': { 
      'handlers': ['file'], 
      'level': 'DEBUG', 
     }, 
     # other loggers 
     ... 
} 

Корневой регистратор содержит параметры журнала по умолчанию и специфицирует дополнительные регистраторы для особых случаев.

Смежные вопросы