`

自定义Apache日志格式

阅读更多
对于站长而言,最关心的当属网站的访问情况了,可能大家平常用得多的都是站点统计,例如51.la ,cnzz,Google Analytics 等等,却忽略了Apache的access日志!
Apache的日志能够详细记录网站的每一个请求,供管理员参考,特别是在网站出现问题的时候,Apache日志文件能提供很多有用的信息,通过分析日志文件,找出网站问题所在。
然而Apache默认的日志格式可能并不能满足每一个人的胃口,有时候我们需要定制Apache日志的格式和内容,比如增加我们感兴趣的内容,删掉我们不感兴趣的内容,或者是改变日志文件记录的格式等等。
在Apache的httpd.conf文件中,通过LogFormat和CustomLog指令可以实现自定义日志文件格式和内容的目的。
LogFormat和CustomLog的格式化参数是一个字符串,这个字符串会在每次请求发生的时候,被记录到日志文件中去。它可以包含被原 样写入日志的文本字符串以及控制字符如:“\t”、“\n”, 其他的特殊字符均可通过反斜杠转义。请求本身的情况将通过在格式字符串中放置各种“%”转义的方式来记录。
下表列出了Apache日志格式字符串的含义
<!-- <br /> #logstyle tr td{<br /> border: 1px solid rgb(212, 239, 247);<br /> width:98%;<br /> }<br /> #logstyle , #logstyle table{<br /> width:98%;<br /> }<br /> -->
%% 百分号(Apache2.0.44或更高的版本 )
%a 远端IP地址
%A 本机IP地址
%B 除HTTP头以外传送的字节数
%b 以CLF格式显示的除HTTP头以外传送的字节数,也就是当没有字节传送时显示’- ‘而不是0。
%{Foobar}C 在请求中传送给服务端的cookieFoobar的内容。
%D 服务器处理本请求所用时间,以微为单位。
%{FOOBAR}e 环境变量FOOBAR的值
%f 文件名
%h 远端主机
%H 请求使用的协议
%{Foobar}i 发送到服务器的请求头Foobar: 的内容。
%l 远端登录名(由identd而来,如果支持的话),除非IdentityCheck 设为”On “,否则将得到一个”-”。
%m 请求的方法
%{Foobar}n 来自另一个模块的注解Foobar 的内容。
%{Foobar}o 应答头Foobar: 的内容。
%p 服务器服务于该请求的标准端口。
%P 为本请求提供服务的子进程的PID。
%{format}P 服务于该请求的PID或TID(线程ID),format 的取值范围为:pidtid (2.0.46及以后版本 )以及hextid (需要APR1.2.0及以上版本)
%q 查询字符串(若存在则由一个”? “引导,否则返回空串)
%r 请求的第一行
%s 状态。对于内部重定向的请求,这个状态指的是原始 请求的状态,—%>s 则指的是最后请求的状态。
%t 时间,用普通日志时间格式(标准英语格式)
%{format}t 时间,用strftime(3) 指定的格式表示的时间。(默认情况下按本地化格式)
%T 处理完请求所花时间,以秒为单位。
%u 远程用户名(根据验证信息而来;如果返回status(%s )为401,可能是假的)
%U 请求的URL路径,不包含查询字符串。
%v 对该请求提供服务的标准ServerName
%V 根据UseCanonicalName 指令设定的服务器名称。
%X 请求完成时的连接状态:
X = 连接在应答完成前中断。
+ = 应答传送完后继续保持连接。
- = 应答传送完后关闭连接。
(在1.3以后的版本中,这个指令是%c ,但这样就和过去的SSL语法:%{var}c 冲突了)
%I 接收的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio 模块。
%O 发送的字节数,包括请求头的数据,并且不能为零。要使用这个指令你必须启用mod_logio 模块。
 
一些常见的格式串:
通用日志格式(CLF)
“%h %l %u %t \”%r\” %>s %b”
带虚拟主机的通用日志格式
“%v %h %l %u %t \”%r\” %>s %b”
NCSA扩展/组合日志格式
“%h %l %u %t \”%r\” %>s %b \”%{Referer}i\” \”%{User-agent}i\”"
Referer日志格式
“%{Referer}i -> %U”
Agent(Browser)日志格式
“%{User-agent}i”
分享到:
评论

相关推荐

    log4j自定义日志文件名及日志输出格式

    当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先,让我们深入理解如何自定义日志文件名。默认情况下,Log4j的日志文件名通常是固定的或者基于时间戳生成...

    Apache日志分析手册

    比如,如果日志格式被自定义过,可能需要使用-F选项来定义字段分隔符,或使用print选项来指定特定的列。 在处理日志文件时,需要注意Linux环境下的命令执行效率和文本处理能力。随着服务器负载的增加,处理大量日志...

    apache日志分析系统免费版V1.6

    Apache日志分析系统免费版V1.6是一款专为管理和解析Apache服务器日志设计的工具。这个系统能够帮助用户深入理解网站的访问情况,提供详细的数据统计和分析,包括但不限于访问量、用户行为、热门页面、来源IP、浏览器...

    debian apache日志服务器配置

    Apache日志服务器配置在Debian系统中是一项关键任务,它涉及到日志的集中管理和分析,这对于监控、故障排查以及安全审计至关重要。以下是配置Debian下的Apache日志服务器的详细步骤。 首先,我们需要在服务器端安装...

    查看apache日志

    ### 查看Apache日志 #### 知识点一:Apache简介 Apache是一款广泛使用的Web服务器软件,支持多种操作系统,如Windows、Linux等。它通过高度模块化的结构来提供灵活的功能扩展性,支持动态加载模块,这使得Apache...

    Apache错误日志时时查看

    使用`CustomLog`和`ErrorLog`指令,可以指定自定义的日志格式和位置。 对于复杂的问题,可能需要结合其他工具,如`grep`、`awk`或日志分析软件,对日志进行更深入的分析。例如,找出特定时间段内出现的错误频率,...

    基于hadoop平台的pig语言对apache日志系统的分析

    标题 "基于Hadoop平台的Pig语言对Apache日志系统的分析" 涉及到的主要知识点包括Hadoop、Pig语言以及Apache服务器日志的处理。以下是对这些关键概念的详细解释: 1. Hadoop平台: Hadoop是Apache软件基金会开发的...

    使用kafka进行自定义注解日志存储,日志存储使用的是influxDB数据库

    1. **数据格式**:确保日志数据格式适合InfluxDB的写入要求,通常采用JSON格式,包含时间戳、度量名、字段和标签等信息。 2. **性能优化**:合理设置Kafka和InfluxDB的配置参数,如分区数、副本数、批量写入大小等,...

    Apache访问日志分析(含源代码)

    2. **日志解析**:按照CLF或自定义格式解析日志项,提取关键信息。 3. **地理定位**:使用IP库(如MaxMind)将IP地址转换为地理位置信息。 4. **统计分析**: - 用户访问次数:根据IP地址计数,找出访问最频繁的...

    apache通用日志包说明

    日志格式通常由管理员自定义,但CLF的标准格式如下: ``` %h %l %u %t "%r" %&gt;s %b "%{Referer}i" "%{User-Agent}i" ``` - `%h`:远程主机名或IP地址。 - `%l`:远程登录用户的标识符,未登录时通常为空。 - `%u`...

    Apache通用日志包.pdf

    通过对日志级别的精细控制、灵活的日志输出方式选择以及丰富的日志格式自定义功能,大大提升了软件系统的运维效率。了解并掌握这些工具的使用方法,对于提高软件项目的质量有着不可忽视的作用。

    apache日志详解

    高级技术中还包括定制日志格式,通过修改Apache配置文件(如httpd.conf)中的LogFormat指令,可以根据需要自定义日志内容。此外,还可以配置日志切割,确保日志文件大小不会过大,便于管理和分析。 总之,Apache...

    Apache错误日志时时查看(2014.9.22)

    Apache允许自定义日志格式,通过`CustomLog`指令配置。例如,`CustomLog logs/access_log combined`将使用"combined"格式记录访问日志,包含客户端IP、用户代理、请求方法、URL、状态码等信息。 4. **日志分割** ...

    Log4Cxx apache日志

    Log4Cxx提供了多种布局,如SimpleLayout、PatternLayout、TTCCLayout等,它们可以定制日志条目的格式,如时间戳、线程名、日志级别、消息内容等。 **4. Filters** Filters允许基于特定条件过滤日志事件,例如,只...

    java自定义日志输出文件(log4j日志文件输出多个自定义日志文件)

    Log4j是一款广泛使用的日志框架,它允许开发者自定义日志输出的方式,包括输出路径、日志级别和格式。在某些情况下,可能需要将不同类型的日志输出到不同的文件中,以方便管理和分析。本文将详细讲解如何使用Log4j...

    log4j自定义

    2. **自定义日志输出格式**:默认情况下,Log4j会打印出时间戳、日志级别、logger名和日志消息。我们可以通过自定义`Layout`实现,例如创建一个XML布局或者JSON布局,使得日志输出更符合项目需求。 3. **自定义日志...

    在Linux系统上查看Apache服务器的错误日志

    错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器。根据你 Web 服务器配置...自定义的错误日志 要

    使用CDN之后APACHE日志记录中IP地址不正确的解决方案

    2. **修改Apache日志格式** Apache默认的日志格式并不支持直接记录来自HTTP头部的信息,因此我们需要自定义日志格式来捕获`Cdn-Src-Ip`字段。具体步骤如下: ```plaintext LogFormat "%{Cdn-Src-Ip}i %l %u %t ...

    Tomcat使用Log4j输出catalina.out日志

    另外,java.util.logging生成的日志格式与项目中使用Log4j记录的日志格式不一致,这会导致在后期日志分析时出现格式不统一的问题。 为了改善这些问题,Tomcat提供了一种机制,允许我们通过配置和替换特定的jar包来...

Global site tag (gtag.js) - Google Analytics