0

我正在使用syslog()功能在我的一个应用程序中记录信息。我syslog()在 Fedora 14 Linux 中使用 c 代码调用函数。

目前,当我调用 syslog 函数时,如下所示:

syslog(LOG_INFO,"MYLOG");

我正在/var/log/messages以下文件中记录味精

Oct  7 04:32:53 syslogname MYLOG

现在我想在syslog()消息的开头记录自定义优先级值(比如 137)。例如:日志应该看起来像这样。

PRI Oct  7 04:32:53 syslogname MYLOG

我希望PRI数字出现在记录消息的开头。我做了谷歌搜索,但没有得到正确的答案。请您就如何使用syslog()功能提出建议?

4

2 回答 2

0

您可以使用 rsyslog 以您需要的格式写入。您请求格式的模板应如下所示: %pri% %timereported% %syslogtag% %msg%

有关可用参数,您可以查看http://www.rsyslog.com/doc/property_replacer.html

于 2013-05-02T07:51:11.870 回答
0

/var/log/messages 文件由您的系统日志守护程序编写。传统上,PRI 值被从中剥离。在那里看到这个问题和我的答案。

您需要在 syslog 守护程序中设置一个特殊的格式化程序,以便在那里记录严重性。Rsyslog 有这方面的模板。使用 nxlog,您可以使用 $SyslogSeverity 字段并将其添加到 $Message 或 $raw_message。

于 2012-10-11T22:01:08.187 回答