正确的记录日志
在公司某个定制化项目中,Nginx 上的日志内容都要输送到 syslog 日志服务器。我们使用了 lua-resty-logger-socket 这个库。
那么我们来看 这个库的 log
函数是如何实现的呢,代码如下:
由于在 阶段变量的生命周期会随着请求的终结而终结,所以当日志量小于 flush_limit
的情况下这些日志就不能被累积,也不会触发 _flush_buffer
函数,所以小日志会丢失。
这里有个新问题,如果我的 log 里面需要输出一些 content 的临时变量,两阶段之间如何传递参数呢?
更多有关 ngx.ctx 信息,请看这里。