尝试将 %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