Module: Lumberjack::Rails::LogSubscriberExtension

Extended by:
ActiveSupport::Concern
Defined in:
lib/lumberjack/rails/log_subscriber_extension.rb

Overview

Extension for Rails log subscribers to provide Lumberjack logger integration.

This module enables Rails log subscribers (such as ActiveRecord::LogSubscriber, ActionController::LogSubscriber, etc.) to use forked Lumberjack loggers. Forked loggers provide isolation, allowing different log levels and attributes to be set for different log subscribers without affecting the main logger.

When a log subscriber’s logger is accessed, this extension checks if the parent logger supports forking. If it does, a ForkedLogger is created and cached for subsequent use. This ensures each log subscriber has its own isolated logger context.

Instance Method Summary collapse

Instance Method Details

#loggerLumberjack::ForkedLogger, Logger

Get the logger for this log subscriber instance.

Delegates to the class-level logger method to ensure consistent behavior across all instances of the log subscriber.

Returns:

  • (Lumberjack::ForkedLogger, Logger)

    the logger instance for this subscriber



93
94
95
# File 'lib/lumberjack/rails/log_subscriber_extension.rb', line 93

def logger
  self.class.logger
end

#silenced?(event) ⇒ Boolean

Override the silenced? method to check if the event has been explicitly silenced.

Parameters:

  • event (String)

    the event to check

Returns:

  • (Boolean)

    true if the event is silenced, false otherwise



83
84
85
# File 'lib/lumberjack/rails/log_subscriber_extension.rb', line 83

def silenced?(event)
  super || self.class.silenced_event?(event)
end