我将结构化日志记录添加到Rails 4应用程序.使用0700和
logstash-logger描述在
this article,我有事情主要工作.
无法在日志中添加请求ID.我找到的最接近的是将其添加到config / ${ENV} .rb中:
config.log_tags = [:uuid]
但是,将请求标识添加到标签列表中,而不是将其添加为命名字段.
{ "tags": [ "da76b4be-01ae-4cc4-8d3c-87062ea02cfe" ],"host": "services","severity": "DEBUG","@version": "1","@timestamp": "2016-09-13T17:24:34.883+00:00","message": "..." }
这是有问题的.这使得它对于如何搜索特定的请求ID而言更为尴尬和不那么明显.另外,在logstash中解析消息会覆盖已经与日志消息相关联的任何其他标签.
有什么办法可以将请求ID作为命名字段添加到日志中吗?
{ "request_id","da76b4be-01ae-4cc4-8d3c-87062ea02cfe","message": "..." }
解决方法
@H_301_19@ 有几种方法可以做到这一点.从Lograge,您可以使用custom_options:# all your lograge stuff... config.lograge.enabled = true config.lograge.custom_options = lambda do |event| # use the `event.payload` {uuid: event.payload[:uuid]} end
你可以重载这里的任何选项 – 他们将接管这些lib.