Class: Beekeeper::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/beekeeper/logger.rb

Class Method Summary collapse

Class Method Details

.clean(backtrace) ⇒ Object



28
29
30
31
32
33
# File 'lib/beekeeper/logger.rb', line 28

def self.clean(backtrace)
  bc = ActiveSupport::BacktraceCleaner.new
  bc.add_filter   { |line| line.gsub(Rails.root.to_s, '') } # strip the Rails.root prefix
  bc.add_silencer { |line| line =~ /puma|rubygems|vendor|bin/ } # skip any lines from puma or rubygems
  bc.clean(backtrace).map! { |t| "  #{t}\n" }
end

.error(error) ⇒ Object



12
13
14
15
16
17
18
19
# File 'lib/beekeeper/logger.rb', line 12

def self.error(error)
  message = if error.respond_to? :backtrace
              message_with_backtrace(error)
            else
              error
            end
  Rails.logger.error message
end

.fatal(error) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/beekeeper/logger.rb', line 3

def self.fatal(error)
  message = if error.respond_to? :backtrace
              message_with_backtrace(error)
            else
              error
            end
  Rails.logger.fatal message
end

.message_with_backtrace(error) ⇒ Object



23
24
25
26
# File 'lib/beekeeper/logger.rb', line 23

def self.message_with_backtrace(error)
  trace = clean(error.backtrace)
  "\n#{error.class.name} (#{error.message}):\n#{trace.join}"
end