module GemLogger::LoggerSupport::ClassMethods

Public Instance Methods

generate_message(exception, opts) click to toggle source
# File lib/gem_logger/logger_support.rb, line 45
def generate_message(exception, opts)
  class_name = self.name
  method_name = caller.first.gsub(/.*`(.*)'$/, '\1') rescue nil
  opts = {:controller => class_name, :action => method_name}.merge(opts)

  message_prefix = opts[:message_prefix] || ''
  message_prefix += ' ' unless message_prefix.strip.size == 0

  "#{log_encode(message_prefix)}#{log_encode(exception.inspect)}, #{log_encode(opts.inspect)}:\n#{exception.backtrace.collect {|x| log_encode(x)}.join("\n") rescue 'no backtrace'}"
end
log_encode(str) click to toggle source
# File lib/gem_logger/logger_support.rb, line 41
def log_encode(str)
  str.encode('UTF-8', :invalid => :replace, :undef => :replace, :replace => '')
end
log_exception(exception, opts={}) click to toggle source

@deprecated Consider using {#logger.context(:exception => exception.class).error(“Exception: …”)} instead

# File lib/gem_logger/logger_support.rb, line 27
def log_exception(exception, opts={})
  logger.error("Exception #{generate_message(exception, opts)}")
end
log_message(group, message, opts={}) click to toggle source
# File lib/gem_logger/logger_support.rb, line 35
def log_message(group, message, opts={})
  log_exception({:error_class   => group,
                 :error_message => message },
                opts)
end
log_warning(exception, opts={}) click to toggle source
# File lib/gem_logger/logger_support.rb, line 31
def log_warning(exception, opts={})
  logger.warn("Warning #{generate_message(exception, opts)}")
end