Module: Rails

Defined in:
lib/scout_apm/logging/loggers/patches/rails_logger.rb

Overview

A patch to Rails to allow swapping out the logger for the held logger in the proxy.

Class Method Summary collapse

Class Method Details

.logger=(new_logger) ⇒ Object



6
7
8
9
10
11
12
13
14
15
# File 'lib/scout_apm/logging/loggers/patches/rails_logger.rb', line 6

def logger=(new_logger)
  @logger.tap do |rails_logger|
    if rails_logger.respond_to?(:is_scout_proxy_logger?)
      old_logger = rails_logger.instance_variable_get(:@loggers).first
      rails_logger.swap_scout_loggers!(old_logger, new_logger)
    else
      @logger = new_logger
    end
  end
end