当前位置:首页>网络学院>服务器>Mail服务器教程>文章内容

多服务器的日志合并统计——apache日志的cronolog轮循和webalizer合并统计 评注

[ 来源: | 作者: | 时间:2007-07-21 | 收藏 | 推荐 ] 【

60;      /web/logs/2002/12/31/access.log
            /web/logs/2002/12/31/errors.log
            午夜过后:日志将写入
            /web/logs/2003/01/01/access.log
            /web/logs/2003/01/01/errors.log
            而2003 2003/01 和 2003/01/01 如果不存在的话,将自动创建

            所以,只要你不在0点调整系统时间之类的话,日志应该是完全按天存放的(00:00:00-23:59:59),后面日志分析中:[31/Mar/2002:15:44:59这个字段就和日期无关了,只和时间有关。

            测试:考虑到系统硬盘容量,决定按星期轮循日志
            apache配置中加入:

vd;k;l www.it55.com rdfg


            #%w weekday
            TransferLog "|/usr/sbin/cronolog /path/to/apache/logs/%w/access_log"

            重启apache后,除了原来的CustomLog /path/to/apche/logs/access_log继续增长外,系统log目录下新建立了 3/目录(测试是在周3),过了一会儿,我忽然发现2个日志的增长速度居然不一样!
            分别tail了2个日志才发现:
            我设置CustomLog使用的是combined格式,就是包含(扩展信息的),而TransferLog使用的是缺省日志格式,看了 apache的手册才知道,TransferLog是用配置文件中离它自己最近的一个格式作为日志格式的。我的httpd.conf里写的是:
            LogFormat ..... combined
            LogFormat ... common IT资讯之家 www.it55.com
            ...
            CustomLog ... combined
            TransferLog ...

            所以TrasferLog日志用的是缺省格式,手册里说要让TRANSFER日志使用指定的格式需要:
            LogFormat "%h %l %u %t \"%r\" %>s %b \"%i\" \"%i\""
            TransferLog "|/usr/local/sbin/cronolog /path/to/apache/logs/%w/access_log"

            重启,OK,日志格式一样了。
            这样的设置结果其实是同时在logs目录下分别记录2个日志access_log和%w/access_log,能不能只记录%w/下的日志那?

免费资源www.it55.com


            查apache手册,更简单的方法:直接让Custom www.it55.com

(编辑:IT资讯之家 www.it55.com

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]