apache日志分割

以前想着是每个网站一个日志,这样比较方便查找,但到处都是日志,不统一。想想公司的服务器都是放在一个地方的,而且也是分割开的,一天一个日志。感觉这样查找PHP错误时比较的方便。

马上试试:(windows上亲测,没问题,可用。)

利用自带的rotatelogs.exe来操作:
windows上的apache操作如下:
在apache的配置文件中找到
把 ErrorLog "logs/error.log" 改成 ErrorLog "|bin/rotatelogs.exe  (这里也可以自定义路径)logs/error_%Y_%m_%d.log 86400 480"
把 CustomLog “logs/access.log” common 改成 CustomLog "|bin/rotatelogs.exe (这里也可以自定义路径)logs/access_%Y_%m_%d.log 86400 480"  common

linux上的apache操作如下:
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common

rotatelogs有一个offset参数,表示相对于UTC的时差分钟数,中国是第八时区,相差480分钟。86400是表示1天。重启Apache这样每一天生成一个日志文件。



cronolog:

在apache的FAQ中,推荐了经过近2年发展已经比较成熟的一个工具cronolog:安装很简单:configure=> make=> make install

他的一个配置的例子会让你了解它有多么适合日志按天轮循:对httpd.conf做一个很小的修改就能实现:
TransferLog "|/usr/sbin/cronolog /var/log/%Y%m%d.log"
ErrorLog "|/usr/sbin/cronolog /var/%Y%m%d-errors.log"

然后:日志将写入
/var/log/20090901.log
/var/log/20090901-errors.log
目录如果不存在的话,将自动创建

300*300
  • 没有相关文章
  • 没有评论
 文章首页关于迷茫时代关于我写意人生
版权所有:迷茫时代 All rights reserved   
执行时间:0.00599 秒