linux - 如何删除/修改 syslogd 消息的标头?
问题描述
我目前正在使用busybox 的syslogd 来记录一些信息。但是,我无法修改邮件的标题。我记录这样的消息:
syslog(LOG_INFO,"My message\n");
我得到了这个输出:
Jul 4 15:00:11 halo user.info syslog: My message
我想用纪元时间格式替换消息的标题,如下所示:
1529293692,My message
或者有什么方法可以完全删除消息的标题,以便我可以在代码中手动添加纪元时间?
解决方案
我做了研究,发现无法使用支持的配置修改 syslogd 的输出消息日志。所以我深入研究了busybox的源代码并对其进行了修改。如果你遇到同样的问题,你可以在函数中找到它:
static void timestamp_and_log(int pri, char *msg, int len)
我检查pri变量以查看它是哪个级别的日志并更改实际结果消息,即msg。
推荐阅读
- sql - 谷歌表格显示/标牌的自动滚动
- python - 在 Pandas 中读取原始 Json 文件
- xamarin.forms - 如何将图像流转换为路径?(xamarin 形式)
- python-3.x - python3错误集合ModuleNotFoundError
- arrays - 如果两个条件都为真,那么我必须检查条件,然后在 MongoDB 中为 1,否则为 0
- java - 将复选框动态添加到列表视图
- reactjs - 使用 webpack 部署 React 应用程序的 Heroku 说找不到 webpack 依赖项,但它在本地运行正常
- powershell - 将备份文件保存到 Windows Server 2016 中的 DropBox 文件夹
- html - 如何从 svg 边框内的 svg 创建悬停效果
- react-native - react-native useRoute 错误(组件异常)