发信人: rawrence()
整理人: zhcharles(2002-01-30 15:56:15), 站内信件
|
我也在维护一些比较大访问量的网站,也遇到过关于apache logs的问题
当然,newsyslog也是个很好的方法!
但我喜欢用这个 “cronolog”,apache自带的那个玩意实在是很烂,如果你的网站的访问量很大(一天的日志超过100M)肯定会死的很难看,我试过的。
用了这个cronolog就很爽,你们看看我的httpd.conf中对log的配置就知道了
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
ErrorLog "|/usr/local/bin/cronolog /data/logs/%Y/%m/%d/error.log"
CustomLog "|/usr/local/bin/cronolog /data/logs/%Y/%m/%d/access.log" common
CustomLog "|/usr/local/bin/cronolog --symlink=/data/logs/access.log /data/logs/%Y/%m/access.log" combined
是不是很爽!
它把apache的log按你指定的时间格式作为目录,把log放在目录里面,
我又写了个程序,用webalizer每天去分析一下当天的日志,结果生成html.分析完了,日志可以压缩备份,也可以删除.实在是爽。
cronolog的主站在http://www.ford-mason.co.uk/resources/cronolog/
哦 对了,还有个小技巧,就是把你不像记录到日志中去的文件类型过滤的方法。 前段时间维护主机,妈的,有个人提了个比较变态的想法(不知道那个人会不会看到,呵呵),说:“不要把扩展名是 .css .js的文件记录到apache的log里面”,考,于是我去查了查apache的 manual 发现是可以做到的。写在下面:
SetEnvIf Request_URI \.(css|js)$ true
CustomLog "|/usr/local/bin/cronolog /data/logs/%Y/%m/%d/access.log" common env=!true
其实,是个正则表达式,简单得很。
不过apache真的很博大精深啊!希望这点小小的心得对大家有帮助,
---- 阿鲁的阿,阿鲁的鲁
|
|