Apache 2.4 获取请求处理时间(以微秒为单位)日志

Apache 2.4 获取请求处理时间(以微秒为单位)日志

尝试将 %D 和 %T 格式字符串添加到我的 Apache 日志中以查看请求处理时间,但显然无法做到。这是LogFormat我的指令httpd.conf

[root@server01 admin_ad2]# grep LogFormat /etc/httpd/conf/httpd.conf
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
[root@server01 admin_ad2]# httpd -v
Server version: Apache/2.4.6 (Red Hat Enterprise Linux)
Server built:   May 28 2018 16:19:32

添加如下所示的格式字符串并重新启动 Apache 服务没有任何影响 - 仍然看不到我的值/var/log/httpd/ssl_access_log

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

我究竟做错了什么 ?

答案1

RHEL 版本的 Apache HTTP 服务器在单独的配置文件中定义 SSL 配置,该文件位于/etc/httpd/conf.d/ssl.conf.

此配置文件还使用以下命令定义 SSL 虚拟主机的日志文件传输日志指示:

# Use separate log files for the SSL virtual host; note that LogLevel
# is not inherited from httpd.conf.
ErrorLog logs/ssl_error_log
TransferLog logs/ssl_access_log
LogLevel warn

TransferLog指令使用最新定义的日志格式日志格式指令,没有昵称。因此,可以通过在 TransferLog 指令之前定义它来控制格式:

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" **%T/%D**"
TransferLog /var/log/httpd/ssl_access_log

相关内容