2012-05-03 55 views
2

我想在RFC5424定義從扭到系統日誌發送的結構化數據。 我在Ubuntu上,syslog實現是rsyslog。如何將結構化數據從Twisted發送到系統日誌?

我運行扭曲應用與「twistd --syslog」,它發送具有log.msg和LOG.ERR到syslog發送的消息。

到目前爲止,我一直在努力根據規範中log.msg格式化的消息,像這樣的例如: -

log.err('[[email protected] iut="3" eventSource="Application" eventID="1011"]') 

但是,這並不工作。 Rsyslog只是將其顯示爲常規消息。 有誰知道如何做到這一點? 我應該看看不同的日誌庫嗎?

+1

你有沒有成功使用Python stdlib'syslog'模塊將「結構化數據」發送到syslog的代碼示例?如果你能證明這一點,那麼問題就出在Twisted的系統日誌集成上。如果沒有,那麼這是一個線索,問題出在Python的syslog模塊中。 –

+1

@讓PaulCalderone看來這個問題是與Python的系統日誌模塊,因爲我也無法與它發送的結構化數據。我懷疑它是基於舊的[3164](https://tools.ietf.org/html/rfc3164)代替[RFC 5424](https://tools.ietf.org/html/rfc5424)。如果你覺得它的解決 – rkrzr

+0

@rkrzr它可適當編輯的問題(加入約你現在遇到的問題的額外信息),或提供自己的答案。 –

回答

5

看來這個問題已經沒有任何關係扭曲的syslog的整合,而是Python的STDLIB系統日誌模塊不支持在RFC中描述的日誌記錄格式5424

此外RFC 5424似乎是Dead On Arrival(至少結構化數據部分)。它很可能會被替換爲基於JSON或XML的Project lumberjack中描述的語法。所以如果你對更多結構化日誌感興趣,你應該看看這個。

,可根據該標準可以使用符合標準,等給出here所述一個自定義格式格式化的消息。

相關問題