module Rabbitek::Loggable

Log helpers

Public Class Methods

logger() click to toggle source
# File lib/rabbitek/loggable.rb, line 7
def self.logger
  Rabbitek.logger
end

Public Instance Methods

debug(msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 26
def debug(msg)
  log_msg(:debug, msg)
end
error(msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 15
def error(msg)
  log_msg(:error, msg)
  NewRelic::Agent.notice_error(msg) if Rabbitek.config.enable_newrelic && Object.const_defined?('NewRelic')
  raven_capture_error(msg) if Rabbitek.config.enable_sentry && Object.const_defined?('Raven')
  true
end
info(msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 30
def info(msg)
  log_msg(:info, msg)
end
logger() click to toggle source
# File lib/rabbitek/loggable.rb, line 11
def logger
  Rabbitek.logger
end
warn(msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 22
def warn(msg)
  log_msg(:warn, msg)
end

Private Instance Methods

class_name(msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 46
def class_name(msg)
  msg.is_a?(Hash) && msg[:class_name] ? msg.delete(:class_name) : self.class.name
end
log_msg(severity, msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 36
def log_msg(severity, msg)
  if logger.respond_to?(:tagged)
    logger.tagged(class_name(msg)) { logger.send(severity, msg) }
  else
    logger.send(severity, msg)
  end

  true
end
raven_capture_error(msg) click to toggle source
# File lib/rabbitek/loggable.rb, line 50
def raven_capture_error(msg)
  msg.is_a?(Exception) ? Raven.capture_exception(msg) : Raven.capture_message(msg.to_s)
end