apache2日志格式

  • Post author:
  • Post category:其他


ubuntu 16.04中,默认的apache2配置文件位于

/etc/apache2/apache2.conf

其中可以找到LogFormat语法,定义了日志格式如下:

LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent

站点的配置位于

/etc/apache2/sites-available/000-default.conf

其中,关于日志有这么两句配置

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

其中,combined别名就指定了该站点日志所采用的格式。该格式中各字段的含义如下:

字段 含义
%h 请求来源主机
%l 远程日志名称(一般默认为横杠)
%u 远程用户(一般默认为横杠)
%t 收到请求的时间
%r HTTP请求第一行
%>s 请求最终状态
%O 发送出去的字节数目
%{VARNAME}i HTTP请求头中VARNAME字段内容


另外,我们通常比较关注每个请求的处理时间,可以添加一个字段 %D,显示每个请求的处理时间,以微秒为单位。另外一个功能相同的字段是%T,不过是以秒为单位。

LogFormat "%h %l %u %t \"%r\" %>s %O %D \"%{Referer}i\" \"%{User-Agent}i\"" combined

更多配置细节,可以参考

官方网站

参考


Apache Module mod_log_config


What is the default apache2 log format and where is defined such default?



版权声明:本文为dreamer2020原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。