【问题标题】:Rails custom logger logs same request multiple timesRails 自定义记录器多次记录相同的请求
【发布时间】:2014-05-20 09:04:14
【问题描述】:

我在引擎的初始化程序文件夹中使用自定义记录器。代码如下所示:

@@duration_logger ||= Logger.new("#{Rails.root}/log/duration_logger.log")

ActiveSupport::Notifications.subscribe "game.players" do |name, start, finish, id, data|
  @@duration_logger.info("Request: #{data}")
end

当我发出请求时,第一个记录很好,但第二个请求记录了 2 次,第三个请求记录了 3-4 次。并且多次记录以下请求。到底是怎么回事?难道我做错了什么?

我正在通过我的控制器操作呼叫订阅者

ActiveSupport::Notifications.instrument("game.players", :data => @result)

【问题讨论】:

  • subscribe 块中添加puts "here" - 闻起来就像您一遍又一遍地订阅......

标签: ruby-on-rails ruby logging activesupport


【解决方案1】:

看起来这是 4.0 中的 rails 错误。每次请求到来时,它都会重新创建订阅者对象。

这是我创建的问题:

Github issue

这是合并的拉取请求

Pull request

更新到最新版本解决了这个问题。

【讨论】:

    猜你喜欢
    • 2012-08-08
    • 2013-01-09
    • 1970-01-01
    • 2017-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-09-08
    • 2022-10-15
    • 2013-10-08
    相关资源
    最近更新 更多