禁用ActionCable事件的rails日志

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

要从ActionCable中完全禁用日志记录,您应该将ActionCable配置为使用不执行任何操作的记录器

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

同样在这里,我终于找到了解决方案。 您应该覆盖/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)行来模拟原始行为。

谢谢。