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,因此它无法真正记录值)
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,因此它无法真正记录值)