单独的服务器日志

单独的服务器日志

我们的服务器上有一个实时帮助,它会生成大量访问日志,您可以想象。目前,它们被附加到它们运行的​​站点的所有其他访问日志中。这使得对错误日志进行分类变得很困难。有没有办法可以指定 /livehelp 中的任何内容进入不同的日志文件?

答案1

<Directory "/livehelp">
     CustomLog /my/custom/access.log combined
     ErrorLog /my/custom/apache2/error.log
</Directory>

答案2

如果您将 /livehelp 移至其自己的虚拟主机(需要自己的 HostName)您可以自定义日志以将它们分开。您可以使用 CustomLog 和 ErrorLog 指令来指定这些日志的位置。

<VirtualHost *:80>
        ServerName livehelp.example.com
        DocumentRoot /path/to/the/livehelp/folder
        ErrorLog logs/livehelp-error_log
        CustomLog logs/livehelp-access_log combined
</VirtualHost>

答案3

你可以使用 apache 的管道日志 [1] 功能。创建一个 shell 脚本,如下所示

#!/bin/sh

PATTERN="/livehelp"
FLAGS="-v"

if [ "x$1" == "xlive" ]; then
  FLAGS=""
fi;

grep $FLAGS "$PATTERN" > $2

(未经测试且需要改进)

现在添加

CustomLog "|/path/to/script live /var/log/live" combined 

CustomLog "|/path/to/script std /var/log/std" combined 

到 apache 配置

如果需要的话,你可以在这里添加更多过滤条件

[1]http://httpd.apache.org/docs/2.2/logs.html#piped

相关内容