aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/action_cable/connection/base.rb8
-rw-r--r--lib/action_cable/server.rb5
2 files changed, 7 insertions, 6 deletions
diff --git a/lib/action_cable/connection/base.rb b/lib/action_cable/connection/base.rb
index 93db5b3dba..e3d2f42e65 100644
--- a/lib/action_cable/connection/base.rb
+++ b/lib/action_cable/connection/base.rb
@@ -24,8 +24,7 @@ module ActionCable
@pending_messages = []
@subscriptions = {}
- @logger = TaggedLoggerProxy.new(server.logger, tags: [ 'ActionCable' ])
- @logger.add_tags(*logger_tags)
+ @logger = TaggedLoggerProxy.new(server.logger, tags: log_tags)
end
def process
@@ -205,9 +204,10 @@ module ActionCable
logger.error e.backtrace.join("\n")
end
- def logger_tags
- []
+ def log_tags
+ server.log_tags.map { |tag| tag.respond_to?(:call) ? tag.call(request) : tag.to_s.camelize }
end
+
end
end
end
diff --git a/lib/action_cable/server.rb b/lib/action_cable/server.rb
index 347592b6b0..d922d347ce 100644
--- a/lib/action_cable/server.rb
+++ b/lib/action_cable/server.rb
@@ -2,13 +2,14 @@ module ActionCable
class Server
cattr_accessor(:logger, instance_reader: true) { Rails.logger }
- attr_accessor :registered_channels, :redis_config
+ attr_accessor :registered_channels, :redis_config, :log_tags
- def initialize(redis_config:, channels:, worker_pool_size: 100, connection: Connection)
+ def initialize(redis_config:, channels:, worker_pool_size: 100, connection: Connection, log_tags: [ 'ActionCable' ])
@redis_config = redis_config.with_indifferent_access
@registered_channels = Set.new(channels)
@worker_pool_size = worker_pool_size
@connection_class = connection
+ @log_tags = log_tags
@connections = []