说明:
如果将 apache 的日志写到一个文件 access_log 中时间久了日志会越来越大,使用 cronolog 的分割功能可以自动将 access_log 文件按年、月、日等分割为单独的文件。关于 cronolog 的其它信息可以参考百度文库关于cronolog的介绍或者cronolog的官方网站,在CentOS下使用 cronolog可以看看《CentOS下cronolog安装配置》。
cronolog 分割 apache 的 access_log 示例:
CustomLog "|/usr/sbin/cronolog /etc/httpd/logs/access_log.%Y%m%d" combined
说明:这行告诉 cronolog 第天生成一个日志文件。/etc/httpd/logs 目录是 /var/log/httpd 的 ln。
windows可以使用这个:
CustomLog "|bin/rotatelogs.exe -l logs/access_%Y-%m-%d.log 86400" common
windows 版 apache 自带 rotatelogs.exe,不需要单独安装,更多用法可以参考天涯的《win2003服务器清除并限制Apache日志文件大小》中给出的示例。
使用 cronolog 时的注意事项:
1、CustomLog 后输出的日志文件要使用绝对地址,使用类似“logs/access_log.%Y%m%d”的相对地址 apache 将“忽略”这里把日志写回一个文件 access_log 文件中。
2、ErrorLog 只接收一个参数,所以不能在后边添加 combined 参数;
3、据说 ErrorLog 也可以使用 cronolog 来分割日志,经本人测试 apache 会告诉你“No such file or directory: httpd: could not open error log file /usr/sbin/cronolog /etc/httpd/logs/error_log.%Y%m%d.”意思是没有这个日志文件,所以 ErrorLog 不能使用 cronolog;
<完>