以C語言生成IETF系統日誌消息的標準方式是什麼?用於生成系統日誌消息的C語言標準接口
有頭文件<syslog.h>。但它不提供使用STRUCTURED-DATA機制的選項(rfc-5424)。
當然,消息可以通過手工直接構建到套接字。但似乎這種方式並不標準。
有沒有另一種標準方式?
以C語言生成IETF系統日誌消息的標準方式是什麼?用於生成系統日誌消息的C語言標準接口
有頭文件<syslog.h>。但它不提供使用STRUCTURED-DATA機制的選項(rfc-5424)。
當然,消息可以通過手工直接構建到套接字。但似乎這種方式並不標準。
有沒有另一種標準方式?
嗯... that rfc小於2年。我認爲,看到美國的嫌疑人還沒有實施它,這並不令人感到意外。
標準的方式做到這一點是使用正常openlog()
,syslog()
和closelog()
程序從<syslog.h>
讓你的應用程序日誌消息。
這會將消息發送到在本地機器上運行的syslogd
。如果通過網絡使用系統日誌協議轉發消息,則syslogd
本身將處理此問題。例如,可以使用syslogd.conf
文件中的@hostname
等目標完成此操作。
總之,您的應用程序預計會將消息記錄到syslogd
,並且syslogd
決定將消息發送到哪裏(包括通過網絡)。這允許本地管理員最大限度地控制。