我们有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。