如何在 Apache 错误日志中显示时区

如何在 Apache 错误日志中显示时区

如何在 apache 2.4.25 ErrorLog 中显示时区。我已将错误日志格式在 VirtualHost 中:

ErrorLogFormat "%{cu}t"

但我只得到了2018-02-08 10:02:59.246032。这实际上是 +01:00 时的时间。

日志格式有可能仅通过%{%Y-%m-%dT%H:%M:%S}t.%{msec_frac}t%{%z}t给出2018-02-08T10:07:46.161+0100。当我在 ErrorLogFormat 中使用相同的内容时,我得到的Thu Feb 08 10:07:46 2018.2018-02-08 10:07:46Thu Feb 08 10:07:46 2018却是。

有没有办法显示正确的时区?

答案1

似乎不可能。日志格式它将格式传递给strftime(3),但错误日志格式它不是。

如果时区对您的 ErrorLog 很重要,您可以考虑使用 Logstash / ELK-stack 来解析日志并在索引之前向日志条目添加时间戳。

答案2

在 Apache HTTPD 主干分支 2.5.1 版本中,现在可以在 ErrorLogFormat 中获取 strftime 的功能: https://github.com/apache/httpd/blob/trunk/CHANGES

查找 PR 62161

相关内容