我想为Django项目设置一个Sentry记录器。我将定义一个sentry处理程序,并将该处理程序放入带有error级别的根记录器中。
sentry
error
根据logging模块的文档,有一个特殊的root键:
logging
root
root-这将是根记录器的配置。配置的处理将与所有记录器相同,但该propagate设置将不适用。
propagate
同时,在其他地方,带有名称的记录器''用于包含根记录器的配置。
''
这有相同的效果吗?什么更可取?
>>> import logging >>> logging.getLogger('') is logging.root True >>>
两种方法都可以,因为命名的记录器''是根记录器。指定顶级密钥root可以使您在配置许多记录器时更加清楚自己的工作-''记录器配置可能会丢失在其他一组记录器中,而该root密钥与该loggers密钥相邻,因此(理论上)应该更加突出。
loggers
重申一下,命名的密钥root是顶级密钥;它不在loggers。