Module: ContextualLogger::Context

Included in:
LoggerMixin
Defined in:
lib/contextual_logger/context.rb

Constant Summary collapse

EMPTY_CONTEXT =
{}.freeze

Instance Method Summary collapse

Instance Method Details

#current_context_overrideObject



12
13
14
# File 'lib/contextual_logger/context.rb', line 12

def current_context_override
  Thread.current[thread_context_key_for_logger_instance]
end

#current_context_override=(context_override) ⇒ Object



16
17
18
19
# File 'lib/contextual_logger/context.rb', line 16

def current_context_override=(context_override)
  ContextualLogger.global_context_lock_message ||= "ContextualLogger::Context.current_context_override set for #{self.class.name} #{object_id}: #{context_override.inspect}"
  Thread.current[thread_context_key_for_logger_instance] = context_override.freeze
end

#thread_context_key_for_logger_instanceObject



7
8
9
10
# File 'lib/contextual_logger/context.rb', line 7

def thread_context_key_for_logger_instance
  # We include the object_id here to make these thread/fiber locals unique per logger instance.
  @thread_context_key_for_logger_instance ||= "ContextualLogger::Context.context_for_#{object_id}".to_sym
end