正如在这个答案中所述,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时的开始时间。