【发布时间】:2012-11-22 00:05:06
【问题描述】:
我们在负载平衡的服务器上使用 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); };
【问题讨论】:
-
我们刚刚发现了另一个问题。日志消息被截断为 500 个字符。这看起来像是 syslog 协议中的硬限制,可能需要从源代码重新编译。我们希望不要走这条路。有没有人遇到过这种情况?
-
只是对上一条评论的更新。日志没有被截断,而是每 500 个字符被拆分一次。
标签: php logging syslog syslog-ng