2012-10-09 71 views
0

我正在使用syslog()函數在我的一個應用程序中記錄信息。 我使用c代碼在Fedora 14 Linux中調用syslog()函數。具有優先級的系統日誌消息

目前我的呼喚系統日誌功能是這樣的:

syslog(LOG_INFO,"MYLOG"); 

我越來越登錄味精/var/log/messages文件如下

Oct 7 04:32:53 syslogname MYLOG 

現在我想有自定義優先級值(比如137)登錄在syslog()消息的開頭。例如:日誌應該看起來像這樣。

PRI Oct 7 04:32:53 syslogname MYLOG 

我想PRI號碼出現在記錄消息的開頭。我做了谷歌搜索,但沒有得到正確的答案。請求您建議如何使用syslog()函數來做到這一點?

回答

0

/var/log/messages文件是由您的系統日誌守護進程寫入的。傳統上,PRI值會從中剝離。請參閱this問題和我的答案。

您需要在syslog deamon中設置一個特殊的格式化程序,以便在那裏記錄嚴重性。 Rsyslog有這個模板。使用nxlog,您可以使用$ SyslogSeverity字段並將其前置到$ Message或$ raw_message。

+0

嗨,非常感謝您的投入。事實上,我發佈這個查詢之前看過你的文章,但無法實現這個!我有一些關於系統日誌的基本問題,並要求你使用clariffy。 – sram

+0

我有一些關於系統日誌的基本問題,並要求你clariffy。 1. syslog-ng是否支持PRIORITY日誌記錄?如果是的話該怎麼做? 2.你提到過rsyslog支持這個,我使用FC14 linux並且已經有rsyslog守護進程。這是否支持這個?其他什麼版本的rsyslog我必須嘗試?我嘗試使用syslog-ng模板,但無法獲取日誌消息中的PRI。我想使用syslog-ng或rsyslog而不是nxlog。請建議。 – sram