我尝试为设施LOG_LOCAL1配置日志时出现syslog-ng错误

时间:2014-07-03 17:12:57

标签: php linux logging syslog syslog-ng

我在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
^^^^^^^^^^^

任何帮助都会非常感激:)

1 个答案:

答案 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));
};