首页 > 解决方案 > 如何删除/修改 syslogd 消息的标头?

问题描述

我目前正在使用busybox 的syslogd 来记录一些信息。但是,我无法修改邮件的标题。我记录这样的消息:

syslog(LOG_INFO,"My message\n");

我得到了这个输出:

Jul  4 15:00:11 halo user.info syslog: My message

我想用纪元时间格式替换消息的标题,如下所示:

1529293692,My message

或者有什么方法可以完全删除消息的标题,以便我可以在代码中手动添加纪元时间?

标签: linuxloggingsyslogbusybox

解决方案


我做了研究,发现无法使用支持的配置修改 syslogd 的输出消息日志。所以我深入研究了busybox的源代码并对其进行了修改。如果你遇到同样的问题,你可以在函数中找到它:

static void timestamp_and_log(int pri, char *msg, int len)

我检查pri变量以查看它是哪个级别的日志并更改实际结果消息,即msg


推荐阅读