禁用ActionCable事件的rails日志

时间:2016-07-14 05:21:31

标签: ruby-on-rails logging ruby-on-rails-5 actioncable

development环境中,rails logger记录所有有时令人讨厌的ActionCable事件(对于我的项目,它不时地传输消息和日志尾部像野马一样运行)。什么是从ActionCable中抑制所有事件日志的有效方法?另外,如何抑制某些特定的ActionCable事件?

2 个答案:

答案 0 :(得分:12)

要完全禁用ActionCable的日志记录,您应该将ActionCable配置为使用什么都不做的记录器

ActionCable.server.config.logger = Logger.new(nil)

答案 1 :(得分:3)

同样在这里,我终于找到了解决方案。 您应该覆盖/app/channels/application_cable/channel.rb中的代码,如下所示

module ApplicationCable

  class Channel < ActionCable::Channel::Base

    def dispatch_action(action, data)

      #logger.info action_signature(action, data)

      if method(action).arity == 1
        public_send action, data
      else
        public_send action
      end
    end
  end
end

您可以通过取消注释#logger.info action_signature(action, data)行来模拟原始行为。

感谢。