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



55
56
57
# File 'lib/gem_logger/logger_support.rb', line 55

def context(added_context)
  LogContextLogger.new(self.logger, self.log_context.merge(added_context))
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



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

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)


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

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



75
76
77
78
79
# File 'lib/gem_logger/logger_support.rb', line 75

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