diff --git a/config/initializers/action_cable.rb b/config/initializers/action_cable.rb new file mode 100644 index 00000000..ea50c416 --- /dev/null +++ b/config/initializers/action_cable.rb @@ -0,0 +1,12 @@ +# frozen_string_literal: true + +# Ensure ActionCable has a logger in all environments. +# In apps upgraded from older Rails versions, the logger chain +# may not propagate to ActionCable out of the box, causing: +# NoMethodError (undefined method 'info' for nil) +# in ActionCable::Connection::TaggedLoggerProxy#log +# +Rails.application.config.after_initialize do + ActionCable.server.config.logger ||= Rails.logger || ActiveSupport::Logger.new($stdout) + ActionCable.server.config.logger.level = Rails.logger&.level || Logger::INFO +end