• Apache 日志的配置


        对于大访问量的网站,日志不可能只记录在一个文件里面,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。
  • 相关阅读:
    springboot redis多数据源
    springboot mybatis 多数据源配置
    java jackson 忽略不存在的属性字段 和 按照属性名转json
    java 四舍五入保留两位小数
    supervisord supervisorctl 问题supervisor.sock refused connection
    2
    1
    Python开发【程序】:三级菜单程序
    Python开发【第二章】:补充
    Python开发【第二章】:深浅拷贝剖析
  • 原文地址:https://www.cnblogs.com/niniwzw/p/1231579.html
Copyright © 2020-2023  润新知