我在CentosOS linux环境中使用syslog-ng配置我的php应用程序的日志记录。
在php端我使用以下代码生成日志:
openlog(‘Program1', LOG_NDELAY, LOG_LOCAL1);
syslog(LOG_INFO, "My log message");
closelog();
在编辑我的syslog-ng.conf文件之前,从php代码生成的所有日志都记录在/ var / log / messages中。
我想将我的日志保存到/var/log/program1.log,所以我将以下行添加到syslog-ng.conf中:
local1.info /var/log/program1.log
但是当我重新启动syslog-ng服务时,我得到以下错误:
Stopping syslog-ng: [FAILED]
Plugin module not found in 'module-path'; module-path='/lib64/syslog-ng', module='afsql'
Error parsing main, syntax error, unexpected LL_IDENTIFIER, expecting $end in /etc/syslog-ng/syslog-ng.conf at line X, column Y:
local1.info /var/log/programname.log
^^^^^^^^^^^
任何帮助都会非常感激:)
答案 0 :(得分:0)
在我的syslog-ng.conf文件中,我删除了以下行:
local1.info /var/log/program1.log
并将其替换为:
destination d_log1 {file("/var/log/program1.log"); };
log { source(s_sys); filter(f_local1); destination(d_log1); };
filter f_local1 { facility(local1); };
注意 - 我还在syslog-ng.conf文件中定义了源s_sys:
source s_sys {
file ("/proc/kmsg" program_override("kernel: "));
unix-dgram ("/dev/log");
internal();
udp(ip(0.0.0.0) port(514));
};