class ReeLogger::RollbarAppender
def append(event, progname = nil)
def append(event, progname = nil) rollbar_level = case event.level when :fatal 'critical' when :unknown 'critical' else event.level.to_s end fingerprint = event.message.to_s if event.exception fingerprint += event.exception.class.to_s end scope = {} parameters = event.parameters.dup if parameters.key?(:rollbar_scope) && parameters[:rollbar_scope].is_a?(Hash) scope = scope.merge( parameters.delete(:rollbar_scope) ) end if !scope[:fingerprint] fingerprint = event.message.to_s if event.exception fingerprint += event.exception.class.to_s end scope[:fingerprint] = Digest::MD5.new.update(fingerprint).to_s end Rollbar.scoped(scope) do Rollbar.log(rollbar_level, event.message, event.exception, parameters) end nil end