如何从Twisted向syslog发送结构化数据?

时间:2012-05-03 12:19:19

标签: twisted syslog rsyslog

我正在尝试将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只是将其显示为常规消息。 有人知道怎么做这个吗? 我应该看一下不同的日志库吗?

1 个答案:

答案 0 :(得分:5)

似乎问题与Twisted的syslog集成无关,而是Python的stdlib syslog模块不支持RFC 5424中描述的日志记录格式。

此外,RFC 5424似乎是Dead On Arrival(至少是结构化数据部分)。它很可能会被Project lumberjack中描述的基于JSON或XML的语法所取代。 因此,如果您对更结构化的日志记录感兴趣,您应该看看它。

要根据该标准格式化消息,可以使用符合标准的自定义格式化程序,例如给定here的格式化程序。