Root logger in dictconfig

烂漫一生 提交于 2019-11-30 03:19:03

问题


I want to setup a Sentry logger for a Django project. I will define a sentry handler and will put that handler in the root logger with error level.

According to the documentation of logging module, there a special root key:

root - this will be the configuration for the root logger. Processing of the configuration will be as for any logger, except that the propagate setting will not be applicable.

At the same time in other places a logger with name '' is used to contain configuration for the root logger.

Does this have the same effect? What is preferable?

>>> import logging
>>> logging.getLogger('') is logging.root
True
>>> 

回答1:


Either way will work, because the logger named '' is the root logger. Specifying the top-level key root makes it clearer what you're doing if you're configuring a lot of loggers - the '' logger configuration could be lost inside a group of others, whereas the root key is adjacent to the loggers key and so (in theory) should stand out more.

To reiterate, the key named root is a top-level key; it's not under loggers.



来源:https://stackoverflow.com/questions/20258986/root-logger-in-dictconfig

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!