Class: Moromi::Error::DefaultLogger

Inherits:
Object
  • Object
show all
Includes:
Loggerable
Defined in:
lib/moromi/error/default_logger.rb

Constant Summary collapse

UNKNOWN =
'unknown'.freeze

Instance Method Summary collapse

Instance Method Details

#write(controller, status, title, exception, options, locals) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/moromi/error/default_logger.rb', line 10

def write(controller, status, title, exception, options, locals)
  Moromi::Error.config.severity_mappings.each do |klass, severity|
    if exception.is_a? klass
      message = ([exception.message] + ::Rails.backtrace_cleaner.clean(Array(exception.backtrace).compact)).join('\n')
      Rails.logger.add severity, message
      return
    end
  end

  Rails.logger.add log_severity(exception), to_ltsv(controller, exception) unless skip?(exception)
  notify_exception(controller, exception)
rescue => e
  backtrace = ::Rails.backtrace_cleaner.clean(e.backtrace).join("\n").gsub("\n", '\n')
  Rails.logger.error "[#{self.class}#write] #{e.inspect} #{backtrace}"
end