Module: GemLogger::LoggerSupport::ClassMethods

Defined in:
lib/gem_logger/logger_support.rb

Instance Method Summary collapse

Instance Method Details

#generate_message(exception, opts) ⇒ Object



45
46
47
48
49
50
51
52
53
54
# 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) ⇒ Object



41
42
43
# 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 = {}) ⇒ Object

Deprecated.

Consider using => exception.class).error(“Exception: …”) instead



27
28
29
# 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 = {}) ⇒ Object



35
36
37
38
39
# 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 = {}) ⇒ Object



31
32
33
# File 'lib/gem_logger/logger_support.rb', line 31

def log_warning(exception, opts={})
  logger.warn("Warning #{generate_message(exception, opts)}")
end