我们把Nginx作为Tomcat的反向代理。 他们两个都用ISO 8601时间戳logging访问,但是tomcat以毫秒为单位(这是标准的一部分)增加。 因此,如果Nginx获得请求并将其传递到Tomcat,则Nginx日志可能具有“2015-10-29T00:37:02 + 00:00”的时间戳,并且Tomcat将具有“2015-10-29T00:37”的时间戳:02,106 + 0000“为同一访问。 我不关心格式的细微差别,但没有毫秒(Tomcat日志中的“,106”部分)是一个问题,因为它阻止我们正确地关联日志。
有没有办法让Nginx的日志中包含几毫秒?
不幸的是,基于阅读nginx的源代码,似乎没有一个简单的方法来做到这一点。 您需要后处理日志(您可以输出$ msec并将其自动转换为ISO8601)或补丁nginx添加此。
有趣的是,多年前提出的补丁提供了足够的灵活性,使其成为可能,但我不认为它到处都是: http : //nginx.2469901.n2.nabble.com/PATCH-time-custom-supports-一个定制日志时间戳,td3505292.html#无