如何更改错误日志中的时间戳记格式?

我想在我的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错误日志中使用的格式。 我试图用两种方法来解决这个问题:

  1. configuration错误日志logging以使用$time_locale$time_iso8601
    〜我没有find任何指令可以做到这一点。
  2. configuration访问日志时间格式以匹配错误日志时间格式。
    〜我没有find任何可以做到这一点的variables。

我没有结婚到任何特定的时间格式,但我希望他们匹配我的错误日志,因为这节省了我交叉引用访问和错误日​​志条目的时间。

如果有人知道如何实现1.或2.以上,我很想知道。 谢谢。

遗憾的是,至less根据这个和这个 ,似乎不可能改变error_log格式。

它也似乎不可能改变访问日志中的时间字段的格式,所以我认为你纯粹的NGINX解决scheme运气不好。

也就是说,应该可以将它们发送到syslog,并希望它使用相同的格式,或者至less给你更好的select。