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

如何将结构化数据从Twisted发送到syslog?,twisted,syslog,rsyslog,Twisted,Syslog,Rsyslog,我正在尝试将中定义的结构化数据从Twisted发送到syslog。 我在Ubuntu上,系统日志实现是rsyslog 我正在用'twistd--syslog'运行twisted应用程序,它将使用log.msg和log.err发送的消息发送到syslog 到目前为止,我一直在尝试根据规范在log.msg中格式化消息,例如: log.err('[exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"]') 但这是行不通的

我正在尝试将中定义的结构化数据从Twisted发送到syslog。 我在Ubuntu上,系统日志实现是rsyslog

我正在用'
twistd--syslog
'运行twisted应用程序,它将使用log.msg和log.err发送的消息发送到syslog

到目前为止,我一直在尝试根据规范在log.msg中格式化消息,例如:

log.err('[exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"]')
但这是行不通的。Rsyslog只是将其显示为常规消息。 有人知道怎么做吗?
我应该看看另一个日志库吗?

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

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


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

您有使用Python stdlib
syslog
模块成功将“结构化数据”发送到syslog的代码示例吗?如果您能够证明这一点,那么问题就出在Twisted的syslog集成中,这将是一个很好的线索。如果不是,那么这就是Python的syslog模块中存在问题的线索。@Jean-PaulCalderone似乎是Python的syslog模块存在问题,因为我也无法用它发送结构化数据。我怀疑它是基于旧的而不是。@rkrzr编辑问题(添加关于您现在遇到的问题的额外信息)或提供您自己的答案(如果您觉得问题已经解决)可能是合适的。@thepaul ok,我现在自己回答了问题。