Apache 日志格式时间戳无法获取时区偏移量

Apache Log format timestamp unable to get timezone offset

LogFormat "{ \
        \"@timestamp\": \"%{%Y-%m-%dT%H:%M:%S%Z}t\", \
        \"@version\": \"1\", \
        \"clientip\": \"%a\", \
        \"status\": %>s, \
        \"bytes\": %B, \
        \"request\": \"%U%q\", \
        \"referer\": \"%{Referer}i\", \
        \"useragent\": \"%{User-agent}i\" \
        }" combinedJSON

输出时间戳名称而不是 +0400 例如:

"@timestamp": "2016-08-29T16:50:37 Pacific Daylight Time", 

应该是:

"@timestamp": "2016-08-29T16:50:37 -0700",  

有没有办法提取时区偏移量而不是时区名称?

在 linux'es strftime() 上,偏移量是小写 'z'。您使用了 big 'Z',这是时区名称/缩写。

(mod_log_config 只是将格式传递给系统 strftime,因此它无法真正记录值)