禁用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)
行来模拟原始行为。
谢谢。