我想为Django项目设置一个Sentry记录器。我将定义一个sentry
处理程序,并将该处理程序放在具有error
级别的根记录器中。
根据logging
模块的文档,有一个特殊的root
密钥:
root
- 这将是根记录器的配置。除了propagate
设置不适用之外,配置的处理与任何记录器一样。
同时在other个地方,使用名称为''
的记录器来包含根记录器的配置。
这有同样的效果吗?什么是可取的?
>>> import logging
>>> logging.getLogger('') is logging.root
True
>>>
答案 0 :(得分:10)
无论哪种方式都可行,因为名为''
的记录器是根记录器。如果您正在配置大量记录器,则指定顶级键root
可以更清楚地了解您正在执行的操作 - ''
记录器配置可能会在其他组中丢失,而{root
记录器配置可能会丢失1}}键与loggers
键相邻,因此(理论上)应该更突出。
重申一下,名为root
的密钥是顶级密钥;它不在loggers
下。