我正在读取一些 nginx 日志,其中包含一些持续时间较长的请求(最多 10 秒)。在日志格式中,我们使用变量$time_local
来记录时间。但这是否意味着请求发生的时间开始或者当完成的对于长期运行的请求,这些时间非常不同,我无法在ngx_http_log_module 文档来解释这一点。
答案1
该$time_local
变量包含写入日志条目的时间。
当读取 HTTP 请求标头时,nginx 会查找关联的虚拟服务器配置。如果找到虚拟服务器,则请求将经历六个阶段:
- 服务器重写阶段
- 定位阶段
- 位置重写阶段(可以将请求带回到上一阶段)
- 访问控制阶段
- try_files 阶段
- 对数期
由于日志阶段是最后一个阶段,$time_local
变量距离请求的结束比开始更近。