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