123456789_123456789_123456789_123456789_123456789_

Class: ActiveSupport::EventReporter::LogSubscriber

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Subclasses:
Super Chains via Extension / Inclusion / Inheritance
Instance Chain:
Inherits: Object
Defined in: activesupport/lib/active_support/event_reporter/log_subscriber.rb

Constant Summary

::ActiveSupport::ColorizeLogging - Included

BLACK, BLUE, CYAN, GREEN, MAGENTA, MODES, RED, WHITE, YELLOW

Class Attribute Summary

Class Method Summary

Instance Attribute Summary

Instance Method Summary

::ActiveSupport::ColorizeLogging - Included

#color

Set color by using a symbol or one of the defined constants.

#colorize_logging, #debug, #error, #fatal, #info, #mode_from, #unknown, #warn

Class Attribute Details

.log_levels (rw)

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 40

class_attribute :log_levels, default: {} # :nodoc:

.log_levels?Boolean (rw)

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 40

class_attribute :log_levels, default: {} # :nodoc:

.logger (rw)

[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 19

def logger
  @logger || default_logger
end

.logger=(value) (rw)

[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 27

attr_writer :logger

.namespace (rw)

[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 28

attr_accessor :namespace

Class Method Details

.default_logger

Raises:

  • (NotImplementedError)
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 23

def default_logger
  raise NotImplementedError
end

.event_log_level(method_name, level)

[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 15

def event_log_level(method_name, level)
  log_levels[method_name.to_s] = level
end

.subscription_filter

[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 30

def subscription_filter
  namespace = self.namespace.to_s
  proc do |event|
    name = event[:name]
    event_namespace = name[0, name.index(".")]
    namespace == event_namespace
  end
end

Instance Attribute Details

#log_levels (rw)

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 40

class_attribute :log_levels, default: {} # :nodoc:

#log_levels?Boolean (rw)

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 40

class_attribute :log_levels, default: {} # :nodoc:

Instance Method Details

#emit(event)

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 42

def emit(event)
  name = event[:name]
  event_method = name[name.index(".") + 1, name.length]
  public_send(event_method, event) if LEVEL_CHECKS[log_levels[event_method]]&.call(logger)
end

#logger

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 48

def logger
  self.class.logger
end

#namespace (private)

This method is for internal use only.
[ GitHub ]

  
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 53

def namespace
  self.class.namespace
end