[英]Common logger settings in Python logging dictConfig
I use logging.config.dictConfig
in my python application: 我在python应用程序中使用logging.config.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)
Then I create loggers in some modules via logger = logging.getLogger("logger1")
etc, and use them, for example logger.info("Some info")
, without any additional configuration. 然后,我通过logger = logging.getLogger("logger1")
等在某些模块中创建logger = logging.getLogger("logger1")
,并使用它们,例如logger.info("Some info")
,而无需进行任何其他配置。 I like it, but only thing I want to optimize is loggers
setting, by providing some common(or default?) value for all loggers. 我喜欢它,但我只是想优化的东西是loggers
设置,通过为所有记录器的一些常见(或默认?)值。 Is it possible? 可能吗?
What happens if you define a root logger in your "loggers" section? 如果在“记录器”部分中定义了根记录器,会发生什么情况?
'loggers': {
#root logger
'': {
'handlers': ['file'],
'level': 'DEBUG',
},
# other loggers
...
}
The root logger contains the default log settings, and specifiy additional loggers for the special cases. 根记录器包含默认的日志设置,并为特殊情况指定其他记录器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.