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