日期:2014-05-16  浏览次数:21156 次

Apache2每天分割日志的方法

第一种方法:使用rotatelogs
第1种方法是网上比较流行的做法。
编辑httpd.conf文件,将CustomLog "logs/access.log" common注释掉
加入如下一行:
CustomLog "|bin/rotatelogs logs/access-%Y-%m-%d.log 86400" common

注意下面评论
【无语】提示用绝对路径,我没有再试

86400代表一天,表示每天生成一个日志文件。
%Y-%m-%d代表年-月-日

第二种方法:使用mod_log_rotate
如果第1种方法不行,我就遇到过,使用第1种方法无法启动apache。第2种方法要利用mod_log_rotate.so模块。
1.首先下载mod_log_rotate.so模块,网站http://www.apachelounge.com/download/下载最新版本。

目前版本mod_log_rotate-1.00a-w32.zip。
2.将mod_log_rotate.so文件拷贝到Apache2/modules目录下。
3.下载Visual C++ 2005 SP1补丁包,微软官方网站上下载

http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en
4.编辑httpd.conf,
加入一行:
LoadModule log_rotate_module modules/mod_log_rotate.so
写日志的地方修改为CustomLog logs/access_log.%Y%m%d-%H%M%S common
再加入下列三行:
RotateLogs On #代表启用自动生成日志;
RotateLogsLocalTime On #代表使用本地时间;
RotateInterval 86400 #代表每天生成

5.重新启动apache,搞定。

?

参考地址:

http://hi.baidu.com/xletian/blog/item/77116938a1f86c