Syslog
來自api的syslog設置標籤?
我可以使用以下選項從命令行使用以下命令將消息泵入帶有syslogtag的rsyslog
-t
:myprogram | logger -t MYTAG
稍後根據該標籤進行過濾:
:syslogtag, contains, "MYTAG" /var/log/mylog
在上面的範例中,我將標準輸出泵送到
logger
實用程序。但是,我想將帶有該標籤的消息直接從 syslog 推myprogram
送到 syslog,但我似乎找不到與在 syslog 文件中添加標籤相關的任何內容。使用以下呼叫:
#include <syslog.h> ... syslog(LOG_DAEMON | LOG_DEBUG, "mymessage");
syslogtag 最終只是:
syslog
簡單的誤解 - 在呼叫該
syslog
函式之前我必須使用該openlog
函式:openlog("MYTAG", LOG_CONS | LOG_PID, LOG_DAEMON);
這樣做!