如何删除/修改 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 消息的标头?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 WCF 删除了我的回复消息中的 wsa:To 标头?

如何删除system权限的文件

syslogd 在 5 秒内将一条远程消息写入日志文件

如何修复 PHP 中的“标头已发送”错误

如何修复 PHP 中的“标头已发送”错误

如何修复 PHP 中的“标头已发送”错误