将Apache访问日志发送到syslog

我们有IBM HTTP服务器(基于Apache 2.0),并希望将访问日志发送到syslog。 (除了可以工作的错误日志)

我们使用的configuration如下:

ErrorLog "|/HTTPServer/bin/rotatelogs /archive/http/error_log.%Y%m%d 86400 | /usr/bin/logger -t httpd -plocal6.err" LogLevel warn LogFormat "%h %{True-Client-IP}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D \"%{Host}i\" %v" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent CustomLog "|exec /usr/bin/logger -t ptseelm-ax3004 -i -p local6.notice" combined 

但是日志条目甚至不出现在本地syslog.out中

这里是过程的样子:

 ps -ef | grep httpd apache 6226000 8388618 0 09:04:01 - 0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start apache 6750220 8388618 0 09:04:01 - 0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start apache 7602390 8388618 0 09:04:01 - 0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start root 8388618 1 0 09:04:01 - 0:00 /HTTPServer/bin/httpd -d /HTTPServer -k start root 9044038 8388618 0 09:04:01 - 0:00 /usr/bin/logger -t httpd -plocal6.err 

所以没有logging器附加到subprocess…是这样的问题? 有人可以帮我吗? 🙂

我们在syslog.conf中有以下内容:

 local6.* @somerealipaddress 

我build议不要直接input到logging器,而是最好写入一个文件,然后让一个单独的进程读取该文件并将其发送到系统日志。

许多系统日志程序,例如rsyslog和syslog-ng,可以从文件和/ dev / log中读取。 另一个select是简单地使用tail -F和pipe来logging。