我们在负载均衡服务器上使用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); };
答案 0 :(得分:0)
您可以更改目标的syslog模板格式,并在末尾手动添加换行符。例如,这是我用于我的一个自定义syslog-ng流的模板。我更改了日期格式(更容易被脚本解析)。注意最后的“\ n”。
file("$PROGRAM"
template("$R_ISODATE $HOST_FROM $MSGHDR$MSG\n")
template_escape(no)
);
有关您可以使用的各种$VARS
的信息,请参阅syslog-ng docs。