新行在syslog-ng中被删除

时间:2012-12-04 11:14:32

标签: php logging syslog syslog-ng

我们在负载均衡服务器上使用syslog-ng实现了集中式日志记录。可以在此处查看该设置的历史记录:How do I set up PHP Logging to go to a remote server? 它工作正常,但新线在目的地被剥离。有没有办法保持新线完好无损?这是我们的配置:

来源

destination php { tcp("server.com" port(xxxx)); };  
log { source(s_all); filter(f_php); destination(php); };  
filter f_php { facility(user); };  

目的地

destination d_php { file("$PROGRAM" owner(www-data) group(www-data) perm(0644)); };  
filter f_php { program("^\/var\/log\/"); };  
log { source(s_all); filter(f_php); destination(d_php); flags(final); };  

1 个答案:

答案 0 :(得分:0)

您可以更改目标的syslog模板格式,并在末尾手动添加换行符。例如,这是我用于我的一个自定义syslog-ng流的模板。我更改了日期格式(更容易被脚本解析)。注意最后的“\ n”。

file("$PROGRAM"
        template("$R_ISODATE $HOST_FROM $MSGHDR$MSG\n")
        template_escape(no)
);

有关您可以使用的各种$VARS的信息,请参阅syslog-ng docs