【发布时间】:2019-09-03 16:12:58
【问题描述】:
我正在使用 pygelf 日志处理程序将 Flask 应用程序与 Graylog 集成。
根据documentation,Graylog 支持八个 syslog 严重级别,基于RFC 3164,即:
(...)
Numerical Severity
Code
0 Emergency: system is unusable
1 Alert: action must be taken immediately
2 Critical: critical conditions
3 Error: error conditions
4 Warning: warning conditions
5 Notice: normal but significant condition
6 Informational: informational messages
7 Debug: debug-level messages
(...)
虽然 Graylog 支持级别 5,即 notice,但 Python 的 logging 包似乎既没有 notice() 日志记录方法(如 info() 或 debug())也没有相应的定义的日志记录级别:
CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0
问题:
有没有办法强制pygelf 使用notice 日志级别?
附加背景:
我正在使用 Flask 框架,默认情况下使用日志级别 6 (info) 和 7 (debug) 来记录它自己的内部 http 请求数据,如下所示:
101.101.101.101 - - [03/Sep/2019 14:15:55] "GET /static/images/favicon.ico HTTP/1.0" 200 -
由于这些内部日志,我自己的info 和debug 级别的日志在人群中消失了。我不想完全过滤掉它们,但我仍然希望有一些独特的信息日志记录级别,它不如warning 高——这就是为什么我可以使用notice 级别的日志记录,不幸的是我不能开箱即用。
【问题讨论】:
标签: python python-3.x graylog graylog3