近段时间遇到Apache access.log 增加很快,没过多久就已经上G级别了,分析起来也不方便,为了分析日志更加方便,把日志处理成为每天生成一个access.log文件。
经过查找和学习,现总结两种方法:
在apache中设置把日志管道给该程序,让该程序进行必要的处理。在设置文件里面修改按天来分割日志:
一、cronolog 日志程序
普通日志处理:
将CustomLog logs/access_log combined 改成
CustomLog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/access_%Y_%m_%d.log " common
错误日志:
将ErrorLog logs/error_log 改为
ErrorLog "|/usr/local/apache/bin/cronolog /usr/local/apache/logs/errorlog/error_%Y_%m_%d.log "
二、 rotatelogs 日志程序
普通日志处理:
将CustomLog logs/access_log combined 改成
CustomLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480" common
错误日志:
将ErrorLog logs/error_log 改为
ErrorLog "| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480"
rotatelogs有一个offset参数,表示相对于UTC的时差分钟数,中国是第八时区,相差480分钟。86400是表示1天,如不设86400 480 将会导致日志记录时间和服务器时间相差8小时。
阅读(591) | 评论(0) | 转发(0) |