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