ruby-on-rails – 使用Rails 4和结构化日志记录,如何将请求ID字
发布时间:2020-12-16 22:28:37 所属栏目:百科 来源:网络整理
导读:我将结构化日志记录添加到Rails 4应用程序.使用0700和 logstash-logger描述在 this article,我有事情主要工作. 无法在日志中添加请求ID.我找到的最接近的是将其添加到config / ${ENV} .rb中: config.log_tags = [:uuid] 但是,将请求标识添加到标签列表中,而
我将结构化日志记录添加到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": "..." } 解决方法
有几种方法可以做到这一点.从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. 负责的代码是here.显示它的测试是here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |