我正在尝试将RFC5424中定义的结构化数据从扭曲发送到系统日志。我在 Ubuntu 上,系统日志实现是 rsyslog。
我正在运行带有" twistd --syslog
"的扭曲应用程序,它将与 log.msg 和 log.err 一起发送的消息发送到系统日志。
到目前为止.msg我一直在尝试根据规范在日志中格式化消息,例如:
log.err('[exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"]')
但这行不通。Rsyslog 只是将其显示为常规消息。有人知道如何做到这一点吗?也许我应该查看不同的日志记录库吗?
似乎问题与 Twisted 的系统日志集成无关,而是 Python 的 stdlib 系统日志模块不支持 RFC 5424 中描述的日志记录格式。
此外,RFC 5424 似乎是到达时死亡的(至少是结构化数据部分)。它很可能会被Project lumberjack中描述的语法所取代,该语法基于JSON或XML。因此,如果您对更结构化的日志记录感兴趣,您可能应该看看它。
要根据该标准格式化消息,可以使用符合该标准的自定义格式化程序,就像这里给出的那样。