2012年12月3日星期一

【转】windows下的apache日志配置

摘自:http://lx121225.blog.163.com/blog/static/457395520117621113548/

访问日志

 在配置文件httpd.conf里查找“CustomLog”一行,整行修改为
CustomLog “|bin/rotatelogs.exe -l E:/logs/access%Y-%m-%d.log 86400″ common
意思是让日志每隔24小时会滚一次,会滚后日志名为“access年-月-日.log”,保存路径为“E:\logs”这样日志就可以按天存入不同的文件中了,另外也可以配合计划任务删除N天之前的日志文件。

错误日志
同样错误日志也可以使用这样的方法,查找“ErrorLog”一行,整行修改为
ErrorLog “|bin/rotatelogs.exe -l E:/logs/errorlog.%Y-%m-%d-%H_%M_%S.log 86400
同样是每天会滚日志,日志文件名“errorlog.年-月-日-小时_分钟_秒.log”。


由上可以看出%Y表示当前年份,%m表示当前月份以此类推就可以灵活运用保存为需要的文件名。
上面的例子里,日志格式使用的是通用日志模式(common),当然也可以使用组合日志模式(Combined),只需要把上面代码最后的“common”修改成“Combined”。
这种格式与通用日志格式类似,但是多了两个 %{header}i 项,其中的header可以是任何请求头。这种格式的记录形如:
192.168.0.2 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 http://www.huaxiren.cn/index.php "Mozilla/4.08 [en] (Win98; I ;Nav)" 
配置完成后保存httpd.conf,重新启动Apache服务器,日志就会从重启Apache的时刻开始每隔一天回滚日志。
值得一提的是在配置了rotatelogs回滚后在windows进程里会多出几个rotatelogs.exe和cmd.exe进程,无须担心,这是rotatelogs在工作。

没有评论: