Module: GemLogger::LoggerSupport::ContextLoggerCommon

Included in:
LogContext, LogContextLogger
Defined in:
lib/gem_logger/logger_support.rb

Instance Method Summary collapse

Instance Method Details

#context(added_context) ⇒ Object

returned logger

Parameters:

  • added_context (Hash)
    • A hash containing context that will be added to the log messages produced by the



62
63
64
# File 'lib/gem_logger/logger_support.rb', line 62

def context(added_context)
  LogContextLogger.new(self.logger, self.log_context.merge(added_context)).extend(GemLogger.context_handler)
end

#event_context(event_type) ⇒ Object

Adds an event_type to the context

Parameters:

  • event_type (Symbol)
    • The event type, which will be added to the context of this log statement



68
69
70
# File 'lib/gem_logger/logger_support.rb', line 68

def event_context(event_type)
  context(:event_type => event_type)
end

#exception_context(exception) ⇒ Object

Adds an exception class to the context

Parameters:

  • exception (Exception)


74
75
76
# File 'lib/gem_logger/logger_support.rb', line 74

def exception_context(exception)
  context(:exception => exception.class.to_s)
end

#log_exception(e, message, options = {}) ⇒ Object

Logs an exception, including the backtrace.

Parameters:

  • exception (Exception)
  • message (String)
  • [Symbol] (Hash)

    a customizable set of options



82
83
84
85
86
# File 'lib/gem_logger/logger_support.rb', line 82

def log_exception(e, message, options = {})
  level = options.delete(:level) || :error
  backtrace = e.backtrace.try{ |b| b.join("\n") } || '(no backtrace)'
  exception_context(e).send(level, "#{message}: #{e} #{backtrace}")
end