123456789_123456789_123456789_123456789_123456789_

Class: ActiveSupport::Logger

Relationships & Source Files
Namespace Children
Classes:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, Logger
Instance Chain:
self, LoggerSilence, Logger
Inherits: Logger
Defined in: activesupport/lib/active_support/logger.rb

LoggerSilence - Attributes & Methods

Class Method Summary

Instance Method Summary

LoggerSilence - Included

#silence

Silences the logger for the duration of the block.

Constructor Details

.new(*args, **kwargs) ⇒ Logger

[ GitHub ]

  
# File 'activesupport/lib/active_support/logger.rb', line 29

def initialize(*args, **kwargs)
  super
  @formatter ||= SimpleFormatter.new
end

Class Attribute Details

.silencer (rw) Also known as: #silencer

[ GitHub ]

  
# File 'activesupport/lib/active_support/logger_silence.rb', line 12

cattr_accessor :silencer, default: true

Class Method Details

.logger_outputs_to?(logger, *sources) ⇒ Boolean

Returns true if the logger destination matches one of the sources

logger = Logger.new(STDOUT)
ActiveSupport::Logger.logger_outputs_to?(logger, STDOUT)
# => true
[ GitHub ]

  
# File 'activesupport/lib/active_support/logger.rb', line 16

def self.logger_outputs_to?(logger, *sources)
  loggers = if logger.is_a?(BroadcastLogger)
    logger.broadcasts
  else
    [logger]
  end

  logdevs = loggers.map { |logger| logger.instance_variable_get(:@logdev) }
  logger_sources = logdevs.filter_map { |logdev| logdev.dev if logdev.respond_to?(:dev) }

  (sources & logger_sources).any?
end

Instance Attribute Details

#silencer (rw)

[ GitHub ]

  
# File 'activesupport/lib/active_support/logger_silence.rb', line 12

cattr_accessor :silencer, default: true