2011-10-18 110 views
1

爲了開發交叉平臺系統日誌客戶端,我試圖在不使用系統日誌系統調用的情況下執行它。我正在用C++開發這個客戶端,現在正在測試Linux。我正在更換的舊系統日誌客戶端與syslog系統調用一起工作良好。 對於如何,它根本不起作用。跟蹤不在/var/log/user.log之內,或者其他任何地方(grep版)。但是,當我在netcat的正確端口上收聽時,我確實收到了。不應該按照方式使用端口514Linux - 系統日誌客戶端

跟蹤是因爲它應該在UDP/514上發送。我試圖堅持RFC 3164,但仍有一些顯然是錯誤的。

我真的很感激,如果有人可以給我一個提示來解決這個問題。

Trace: severity: 2 (Critical); facility: 23 (Local Use 7) ==> priority: 186 

sh$> sudo nc -ul localhost -p 514 
    <186>Oct 18 10:36:03 hostname test_trace: | 10:36:03.242995 | CRIT | xxx-MAIN[5473-000] | 00000 | 0008 : main : user_msg 

謝謝!


我想我找到了我自己的問題的問題:rsyslog現在(我的系統日誌服務器)不會對UDP/514聽正確。

/etc/rsyslog.conf

$ModLoad imudp 
$UDPServerAddress 0.0.0.0 
$UDPServerRun 514 

如果有人有,爲什麼它仍然不會對UDP/514聽任何想法,我會非常thanksful因爲我真的不明白爲什麼。

再次感謝您。

回答

1

syslog()調用寫入/ dev/log,系統日誌程序讀取此unix域套接字來獲取消息。 UDP/514用於網絡傳輸。 所以目前還不清楚你想要什麼。

+0

謝謝你的回答。你是對的。那麼,我想我只是錯誤配置我的系統日誌服務器與遠程客戶端一起工作。我需要讓它在UDP/514上偵聽,因爲它顯然不是它的默認行爲。 – Rippalka