2

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

我正在使用“ twistd --syslog”运行扭曲的应用程序,它将使用 log.msg 和 log.err 发送的消息发送到 syslog。

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

log.err('[exampleSDID@32473 iut="3" eventSource="Application" eventID="1011"]')

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

4

1 回答 1

5

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

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

要根据该标准格式化消息,可以使用符合标准的自定义格式化程序,就像这里给出的那样。

于 2012-05-06T11:28:57.480 回答