您的位置:首页 > 运维架构 > Apache

Apache 日志的配置

2008-06-28 18:40 337 查看
  对于大访问量的网站,日志不可能只记录在一个文件里面,1万日志大概就有50M,还有一个可能就是你要跟踪用户的行为,可能需要一些额外的信息,怎么把这些东西记录到apache日志里面。apache提供了很出色的日志配置方式,具体的配置可以参考:http://httpd.apache.org/docs/2.0/logs.html 我这里只是简单的举一些例子。    1。问题一:实现按照小时记录日志:    apache 自带有一个rotatelogs 可以实现这个功能,查看一下他的help就知道使用的方法了。    Usage: rotatelogs [-l] <logfile> {<rotation time in seconds>|<rotation size in megabytes>} [offset minutes from UTC] 先看下面的例子: <VirtualHost *:80>     ServerAdmin webmaster@myhost.com     DocumentRoot /home/web/www     ServerName myhost.com <Directory "/home/web/www">     Options Indexes FollowSymLinks     AllowOverride all     Order allow,deny     Allow from all </Directory> CustomLog "|bin/rotatelogs logs/myhost_access_log_%Y_%m_%d_%H.log 3600 480" common </VirtualHost> logs/pma_access_log_%Y_%m_%d_%H.log  是文件名字,可以用占位符。 3600 表示的是每个小时记录一次,这个单位是s 480  表示和UTC时间差的分钟数目,我们是东八区要比他们早480分钟。 2.问题2,我要记录一个用户的客户端的信息,并且每次用户访问,我都自动在浏览器里面写一个cookie,及时发现恶意攻击或者用于广告系统中防止作弊。首先启用apache 自带的user track 把 LoadModule usertrack_module modules/mod_usertrack.so前面的#去掉。 linux用户的话,没有这个模块,那么就重新编译一下。配置如下的虚拟主机: <VirtualHost *:80>     ServerAdmin webmaster@dummy-host2.domain     DocumentRoot D:/web/htdocs     ServerName localhost.com     CookieTracking on     CookieDomain .localhost.com     CookieExpires "1 days"     CookieStyle Cookie <Directory "D:/web/htdocs">     Options Indexes FollowSymLinks     AllowOverride all     Order allow,deny     Allow from all </Directory> LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-agent}i/" /"%{Cookie}i/"" mylogconfig CustomLog "|bin/rotatelogs logs/pma_access_log_%Y_%m_%d_%H.log 3600 480" mylogconfig </VirtualHost>  CookieTracking on  CookieDomain .localhost.com  CookieExpires "1 days"  CookieStyle Cookie 这四句是设置cookie的属性的。这一句是设置日志的属性: LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-agent}i/" /"%{Cookie}i/"" mylogconfig 日志的名字叫做mylogconfig。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息