python - python logging - “root”dict键有什么作用?
问题描述
我正在将 Sentry 集成到我的 Django 项目中以记录错误,他们推荐的入门日志配置如下所示:
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'root': {
'level': 'WARNING',
'handlers': ['sentry'],
},
...
}
现在,我习惯于在“logging”键中列出我的记录器并分配处理程序,如下所示:
'loggers': {
'': {
'handlers': ['console', 'mail_admins'],
'level': 'INFO',
},
}
通过这种方式,我捕获所有记录器的输出(名称''
捕获所有)并控制我的处理程序。
但是,将root
密钥放入日志记录层次结构有什么作用?我在 python 文档中找不到答案。
从我所看到的情况来看,它只是使用单个sentry
记录器禁用了我所有调整过的记录器。我不再在控制台等中看到我的错误。
但是,如果我忽略哨兵root
建议并在这里添加记录器
'loggers': {
'': {
'handlers': ['console', 'mail_admins', 'sentry'],
'level': 'INFO',
},
}
我所有的三个记录器开始和谐地一起工作。
所以我不明白root
。它有什么作用?
解决方案
推荐阅读
- javascript - Mongo - 通过_id更新嵌套的对象数组
- raku - 如何基于逗号分割字符串,但不基于双引号中的逗号
- firebase - Firebase 仅部署功能流程
- python - Numpy,对于一个数组的每个元素,在另一个数组中找到它的最近点
- swift - 必须单击标签栏项目两次才能更改视图控制器
- binary - 二进制补码加法导致负数
- c# - 通过 Streaming Assets 加载 Spritesheet/Atlas
- javascript - Javascript - onsubmit 用于动态创建的表单不执行功能
- encoding - 我需要帮助解码(我相信)是 base64 编码的消息
- ms-word - 标题元素不适用于清单 XML 中的操作元素