class Rollbar::Logger
This class provides logger interface that can be used to replace the application logger and send all the log messages to Rollbar
Usage: require ‘rollbar/logger’ logger = Rollbar::Logger.new
logger.error(‘Error processing purchase’)
If using Rails
, you can extend the Rails
logger so messages are logged normally and also to Rollbar:
Rails.logger.extend(ActiveSupport::Logger.broadcast(Rollbar::Logger.new
))
Public Class Methods
Source
# File lib/rollbar/logger.rb, line 20 def initialize super(nil) self.level = ERROR end
Public Instance Methods
Source
# File lib/rollbar/logger.rb, line 26 def add(severity, message = nil, progname = nil) return true if severity < @level message ||= block_given? ? yield : progname return true if blank?(message) rollbar.log(rollbar_level(severity), message) end
Source
# File lib/rollbar/logger.rb, line 43 def rollbar notifier = Rollbar.scope notifier.configuration.logger = ::Logger.new('/dev/null') notifier end
Returns a Rollbar::Notifier
instance with the current global scope and with a logger writing to /dev/null so we don’t have a infinite loop when Rollbar.configuration
.logger is Rails.logger.
Private Instance Methods
Source
# File lib/rollbar/logger.rb, line 52 def blank?(message) return message.blank? if message.respond_to?(:blank?) message.respond_to?(:empty?) ? !!message.empty? : !message end
Source
# File lib/rollbar/logger.rb, line 67 def rollbar_level(severity) [:debug, :info, :warning, :error, :critical, :error][severity] || :error end
Find correct Rollbar
level to use using the indexes in Logger::Severity DEBUG = 0 INFO = 1 WARN = 2 ERROR = 3 FATAL = 4 UNKNOWN = 5
If not found we’ll use ‘error’ as the used level