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

rkr*_*rzr 2 syslog twisted 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"]')
Run Code Online (Sandbox Code Playgroud)

但这不起作用.Rsyslog只是将其显示为常规消息.有人知道怎么做这个吗?我应该看一下不同的日志库吗?

rkr*_*rzr 5

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

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

根据该标准可以使用符合标准的,比如给定一个自定义格式格式的消息在这里.