syslog 消息格式问题

syslog 消息格式问题

rsyslog 或 syslog-ng 是否有办法允许制表符分隔的消息?我目前正在使用 rsyslog 和 c syslog() 函数从我的应用程序内生成 syslog 消息。问题是我使用 \t,当我查看日志时它们被翻译成 #011。理想情况下,我希望翻译除制表符之外的其他控制字符。这可能吗?

答案1

syslog-ng 将传递标签

答案2

使用 syslog-ng 绝对可以 - 不确定 rsyslog 是否可行。要在 syslog-ng 中执行此操作,只需在标记中添加 \t。

我使用的 syslog 工具采用制表符分隔符,它的配置如下:

destination d_logzilla {
   program("/www/logzilla/scripts/db_insert.pl"
   template("$YEAR-$MONTH-$DAY $HOUR:$MIN:$SEC\t$HOST\t$PRI\t$PROGRAM\t$MSGONLY\n")
   template_escape(yes)
   );
};

下面是一个关于如何配置 syslog-ng 的简短视频: http://www.logzilla.pro/syslog-ng-configuration

相关内容