class Beekeeper::Logger
Public Class Methods
error(error, logger: nil)
click to toggle source
# File lib/beekeeper/logger.rb, line 12 def self.error(error, logger: nil) message = if error.respond_to? :backtrace message_with_backtrace(error) else error end internal_logger(logger).error message end
fatal(error, logger: nil)
click to toggle source
# File lib/beekeeper/logger.rb, line 3 def self.fatal(error, logger: nil) message = if error.respond_to? :backtrace message_with_backtrace(error) else error end internal_logger(logger).fatal message end
Private Class Methods
clean(backtrace)
click to toggle source
# 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
internal_logger(logger)
click to toggle source
# File lib/beekeeper/logger.rb, line 35 def self.internal_logger(logger) logger || Rails.logger end
message_with_backtrace(error)
click to toggle source
# 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