全国24小时服务热线:400 678 1500|思福迪新浪微博思福迪腾讯微博思福迪sina博客
位置:首页  > 资源中心  > 日志资料库
日志资料库
资料申请
文档中心
在线演示
 
日志维基----Apache日志
发布时间:2011-08-22 更新时间:2011-08-22 浏览次数:4632

 

Apache简介                                                                                                                                               作者 郑重
        从1995年,Apache Group公布发行最早的Apache 0.6.2至今,Apache几乎在所有的计算机平台上运行过,最新版本为Apache 2.2。
        在默认安装下,Apache服务器运行会生成两个日志文件,这两个文件是访问日志access_log(在Windows上是access.log)和错误日志error_log(在Windows上是error.log)。错误日志是最重要的日志文件,其文件名和位置取决于ErrorLog指令。Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误,由于这里经常包含了出错细节以及如何解决,如果服务器启动或运行中有问题,首先就应该查看这个错误日志。而访问日志中会记录服务器所处理的所有请求,其文件名和位置取决于CustomLog指令,LogFormat指令可以简化日志的内容。

 

Apache日志配置
        错误日志记录了服务器运行期间遇到的各种错误,以及一些普通的诊断信息,比如服务器何时启动、何时关闭等。
        ErrorLog 指令指定了当服务器遇到错误时记录错误日志的文件名。其格式为:
        格式1:ErrorLog 错误日志文件名
        格式2:ErrorLog "|管道程序名"
        LogLevel 用于调整记于错误日志中的信息的详细程度。其格式为:
        LogLevel 错误日志记录等级
        下面着重说说日志记录等级:

紧急程度

等级

说明

1

emerg   

出现紧急情况使得该系统不可用,如系统宕机等

2

alert   

需要立即引起注意的情况

3

Crit

危险情况的警告

4

error

除了emerg、alert、crit的其他错误

5

warn    

警告信息

6

notice    

需要引起注意的情况,但不如error、warn重要

7

info    

值得报告的一般消息

8

Debug

由运行于debug模式的程序所产生的消息

        如果指定了等级 warn,那么就记录紧急程度为1至5的所有错误信息。

 

Apache访问日志配置
       定制访问日志文件的格式涉及到两个指令,即LogFormat指令和CustomLog指令,默认httpd.conf文件提供了关于这两个指令的几个示例。
       CustomLog 指令用来对服务器的请求进行日志记录。格式为:
       格式1:CustomLog 访问日志文件名 记录格式说明串|格式昵称
       格式2:CustomLog "|管道程序名 访问日志文件名" 记录格式说明串|格式昵称
       例:CustomLog /var/log/apache2/access.log combined
       为了便于分析 Apache 的访问日志,Apache 的默认配置文件中,按记录的信息不同(用不同格式昵称说明不同的信息)将访问日志分为4类,并由 LogFormat 指令定义了昵称,如表所示。

格式分类

格式昵称

说明

普通日志格式(common log format,CLF)

Common

大多数日志分析软件都支持这种格式

参考日志格式(referer log format)

Referrer

记录客户访问站点的用户身份

代理日志格式(agent log format)

Agent

记录请求的用户代理

综合日志格式(combined log format)

Combined

结合以上三种日志信息

       例: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


小技巧:Apache日志按日期记录
       在apache的配置文件中找到
       ErrorLog logs/error_log
       CustomLog logs/access_log common

将其改为
       ErrorLog “| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_error_log 86400 480″
       CustomLog “| /usr/local/apache/bin/rotatelogs /home/logs/www/%Y_%m_%d_access_log 86400 480 common
       Rotatelogs中有一个offset参数,表示对于UTC的时差分钟数,由于中国是GMT+8,即第八时区,相差480分钟,故有在配置中提到480这个参数,否则日志记录时间将与服务器时间相差8小时。

 

 

 

思福迪版权所有 2005-2011 浙ICP备11016169