class Tablexi::Logger::Standard
Attributes
logger[R]
severity[R]
Public Class Methods
new(logger, options = {})
click to toggle source
# File lib/tablexi/logger/standard.rb, line 11 def initialize(logger, options = {}) defaults = { severity: :unknown } options = defaults.merge(options) severity = options[:severity] raise ArgumentError, "Severity `#{severity}` must be one of #{SEVERITIES}" unless SEVERITIES.include?(severity) @logger = logger @severity = severity end
Public Instance Methods
call(exception_or_message, options)
click to toggle source
# File lib/tablexi/logger/standard.rb, line 21 def call(exception_or_message, options) logger.public_send severity, generate_log(exception_or_message, options) end
Private Instance Methods
generate_log(exception_or_message, options)
click to toggle source
# File lib/tablexi/logger/standard.rb, line 27 def generate_log(exception_or_message, options) options = Hash[options] message = [] message << (exception_or_message.respond_to?(:message) ? exception_or_message.message : exception_or_message) message << options.map { |k, v| "#{k}: #{v}" } if options.size > 0 message << exception_or_message.backtrace if exception_or_message.respond_to?(:backtrace) message.flatten.join("\n") end