2015-11-23 20 views
0

我在Python應用程序使用logging.config.dictConfig通用記錄器設置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 
     ... 
} 

根記錄器包含默認日誌設置,並且指定了特殊情況下的其他記錄器。