我想在我的Nginx错误日志中的时间戳和我的访问日志中一样。
错误时间格式为Y/m/d H:i:s而访问日志则允许我:
d/M/Y:H:i:s O ($ time_local)或 Ymd\TH:i:sO SO($ time_iso8601) 有什么办法可以设置我的访问日志使用错误日志格式,反之亦然?
我在CentOS 7上运行Nginx 1.10.1。
更新:
由于我的问题已经被压低了,我会尽量清楚 –
access_log指令允许我定义访问日志中使用的时间戳,尽pipe看起来我只有两种格式select。 例如:
log_format foo '[$time_local] "$request" $status ..'; log_format bar '[$time_iso8601] "$request" $status ..';
然后我可以应用这些格式来访问这样的日志:
access_log foo.log foo; access_log bar.log bar;
拖尾所有日志显示不同的时间格式,例如
==> foo.log <== [29/Sep/2016:10:20:48 +0100] "GET /fail HTTP/1.1" 404 .. ==> bar.log <== [2016-09-29T10:20:48+01:00] "GET /fail HTTP/1.1" 404 .. ==> error_log <== 2016/09/29 10:37:52 [error] ..... No such file or directory
$time_local和$time_iso8601符合标准Nginx错误日志中使用的格式。 我试图用两种方法来解决这个问题:
$time_locale或$time_iso8601 。 我没有结婚到任何特定的时间格式,但我希望他们匹配我的错误日志,因为这节省了我交叉引用访问和错误日志条目的时间。
如果有人知道如何实现1.或2.以上,我很想知道。 谢谢。
遗憾的是,至less根据这个和这个 ,似乎不可能改变error_log格式。
它也似乎不可能改变访问日志中的时间字段的格式,所以我认为你纯粹的NGINX解决scheme运气不好。
也就是说,应该可以将它们发送到syslog,并希望它使用相同的格式,或者至less给你更好的select。