如何将结构化数据从扭曲发送到系统日志



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

我正在运行带有" twistd --syslog "的扭曲应用程序,它将与 log.msg 和 log.err 一起发送的消息发送到系统日志。

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

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

但这行不通。Rsyslog 只是将其显示为常规消息。有人知道如何做到这一点吗?也许我应该查看不同的日志记录库吗?

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

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

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

最新更新