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
-
LEVEL_CHECKS =
# File 'activesupport/lib/active_support/event_reporter/log_subscriber.rb', line 8{ debug: -> (logger) { logger.debug? }, info: -> (logger) { logger.info? }, error: -> (logger) { logger.error? }, }
::ActiveSupport::ColorizeLogging - Included
BLACK, BLUE, CYAN, GREEN, MAGENTA, MODES, RED, WHITE, YELLOW
Class Attribute Summary
- .logger rw
- .logger=(value) rw
- .namespace rw
- .log_levels rw Internal use only
- .log_levels? ⇒ Boolean rw Internal use only
Class Method Summary
Instance Attribute Summary
- #log_levels rw Internal use only
- #log_levels? ⇒ Boolean rw Internal use only
Instance Method Summary
- #emit(event) Internal use only
- #logger Internal use only
- #namespace private Internal use only
::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
# 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 ]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