如何删除/修改 syslogd 消息的标头?
Posted
技术标签:
【中文标题】如何删除/修改 syslogd 消息的标头?【英文标题】:How to remove/modify syslogd message's header? 【发布时间】:2018-07-04 09:10:44 【问题描述】:我目前正在使用busybox 的syslogd 来记录一些信息。但是,我无法修改邮件的标题。 我这样记录消息:
syslog(LOG_INFO,"My message\n");
我得到了这个输出:
Jul 4 15:00:11 halo user.info syslog: My message
我想用这样的纪元时间格式替换消息的标题:
1529293692,My message
或者有什么方法可以完全删除消息的标题,以便我可以在代码中手动添加纪元时间?
【问题讨论】:
【参考方案1】:我研究了一下,发现用支持的配置修改syslogd的输出消息日志是不可能的。所以我深入研究了busybox的源代码并对其进行了修改。如果你遇到同样的问题,你可以在函数中找到它:
static void timestamp_and_log(int pri, char *msg, int len)
我检查 pri 变量以查看它是哪个级别的日志并更改实际结果消息,即 msg。
【讨论】:
以上是关于如何删除/修改 syslogd 消息的标头?的主要内容,如果未能解决你的问题,请参考以下文章