加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读