2

I am trying to send all my apache logs to syslog-ng(on remote machine) which in turn writes to a file.

so I configure syslog-ng this way

source s_apache {
      unix-stream("/var/log/apache_log.socket" max-connections(512) keep-alive(yes));
};
filter f_apache { match("error"); };
destination df_custom { file("/var/log/custom.log"); };
log {
        source(s_apache);
        filter(f_apache);
        destination(df_custom);
};

and add the following line to apache2.conf

ErrorLog "|/usr/bin/logger -t 'apache'  -u /var/log/apache_log.socket"

but only logs being written to "/var/log/custom.log" are

[Mon Jul 13 17:24:36 2009] [notice] caught SIGTERM, shutting down

and

[Mon Jul 13 17:26:11 2009] [notice] Apache/2.2.11 (Ubuntu) configured -- resuming normal operations

I want all logs to be sent to custom.log..... Please help me.... where am I going wrong?

4

2 回答 2

0

我可以向您推荐这个链接: http ://httpd.apache.org/docs/2.2/logs.html 在这里您可以了解登录 apache。如果您希望所有日志都登录到 syslog-ng,您还必须使用 CustomLog 指令配置访问日志。

问候,洛伦佐。

于 2009-07-13T12:34:43.870 回答
-1

我有同样的问题,我发现 ErrorLog 和 CustomLog 设置被 /etc/apache2/sites-available/default 覆盖

在注释掉这些之后,它起作用了!

或者,如果您只想记录特定的域调用,您可以将这些设置放在 <virtualhost> 中

问候雷恩

于 2009-08-22T07:19:57.113 回答