如何在Nginx中logging请求的开始时间

正如在这个答案中所述,Nginx的访问日志中的$ time_localvariables表示请求(或接近)的结束时间

那么,有没有办法在Nginx的访问日志中logging一个请求的开始时间呢?

我search了一下,但只是找不到任何引用来实现这一点。 来吧! 这不是一个非常简单的Web服务器function吗? 不要告诉我从$ time_local减去$ request_time …

那么,有一个nginx的补丁( https://gist.github.com/rkbodenner/318681#comment-610856 )将请求开始时间作为variables公开。

我认为这可能对你的情况有用。

我知道这是一个古老的问题,但我认为它值得更新,对于nginx>1.2.5 (截至2017年7月nginx稳定是1.13 )现在这是微不足道的

在日志中使用

 start_time="$msec" 

或者添加一个标题:

 add_header X-Request-Start $msec 

或代理

 proxy_set_header X-Request-Start $msec 

您可以将$msec$request_time写入日志,并使用$msec$request_time作为parsing时的开始时间。