我正在使用syslog()
函数在我的某个应用程序中记录信息。
我正在使用c代码在Fedora 14 Linux中调用syslog()
函数。
目前我在调用syslog函数时会这样:
syslog(LOG_INFO,"MYLOG");
我在/var/log/messages
文件中记录了以下消息,如下所示
Oct 7 04:32:53 syslogname MYLOG
现在我希望在syslog()
消息的开头记录自定义优先级值(比如137)。例如:log应该看起来像这样。
PRI Oct 7 04:32:53 syslogname MYLOG
我希望PRI
号出现在记录消息的开头。我做了谷歌搜索,但没有得到正确答案。请求您使用syslog()
函数建议如何执行此操作?
答案 0 :(得分:0)
/ var / log / messages文件由syslog守护程序写入。传统上,PRI值被剥离。请参阅this问题和我的答案。
您需要在syslog守护程序中设置一个特殊的格式化程序,以便在其中记录严重性。 Rsyslog有这个模板。使用nxlog,您可以使用$ SyslogSeverity字段并将其添加到$ Message或$ raw_message。
答案 1 :(得分:0)
您可以使用rsyslog以您需要的格式编写。您请求的格式的模板应如下所示: %pri %% timereported %% syslogtag %% msg%
有关可用参数,您可以查看http://www.rsyslog.com/doc/property_replacer.html。