我可以将消息注入系统日志与一个系统日志标签在命令行中使用以下选项-t
:
myprogram | logger -t MYTAG
然后根据该标签进行过滤:
:syslogtag, contains, "MYTAG" /var/log/mylog
在上面的示例中,我将标准输出发送到logger
实用程序。但是,我想将带有该标签的消息直接从myprogram
系统日志推送,但我似乎找不到与添加标签相关的任何内容在系统日志文档中。
使用以下调用:
#include <syslog.h>
...
syslog(LOG_DAEMON | LOG_DEBUG, "mymessage");
syslogtag 最终变成:
syslog
答案1
简单的误解 - 在调用syslog
函数之前我必须使用该openlog
函数:
openlog("MYTAG", LOG_CONS | LOG_PID, LOG_DAEMON);
就这样了!