我有一个 nginx 日志解析器,它依赖于事实,即按顺序排列的 nginx 日志条目。但有时我会收到这样的日志:
[2015-07-01T08:41:59-07:00] https "GET ...
[2015-07-01T08:42:00-07:00] https "POST ...
[2015-07-01T08:41:59-07:00] https "GET ...
有没有什么办法可以让 ngx 写入日志条目严格按顺序进行,或者我应该改变解析器的行为?
答案1
据我所知,您在日志中看到的时间是请求到达服务器的时间。您看不到正确顺序的请求的原因是,您通常还会记录只有在处理请求后才知道的信息(返回状态、响应长度等)。
我看到两个选择:
- 改变你的解析器
- 在解析输入之前对其进行排序