class Plogger::Handler

Public Class Methods

new(config) click to toggle source
# File lib/plogger/handler.rb, line 6
def initialize(config)
  @logger = config.logger
  @module = config.module
  @raven_dsn = config.raven_dsn
end

Public Instance Methods

handle_debug(message, type: '', category: '', user_id: '', account_id: '', extra_info: {}) click to toggle source
# File lib/plogger/handler.rb, line 46
def handle_debug(message, type: '', category: '', user_id: '', account_id: '', extra_info: {})
  result = generate_id_and_message(message, category: category, user_id: user_id,
                                            account_id: account_id, type: type,
                                            extra_info: generate_extra_info(extra_info))
  @logger.debug(result[:message])
  result[:trace]
end
handle_error(message, type: '', category: '', user_id: '', account_id: '', extra_info: {}) click to toggle source
# File lib/plogger/handler.rb, line 22
def handle_error(message, type: '', category: '', user_id: '', account_id: '', extra_info: {})
  result = generate_id_and_message(message, category: category, user_id: user_id,
                                            account_id: account_id, type: type,
                                            extra_info: generate_extra_info(extra_info))
  @logger.error(result[:message])
  result[:trace]
end
handle_exception(exception, type: '', category: '', user_id: nil, account_id: nil, extra_info: {}) click to toggle source
# File lib/plogger/handler.rb, line 12
def handle_exception(exception, type: '', category: '', user_id: nil, account_id: nil, extra_info: {})
  unless @raven_dsn == nil || @raven_dsn.blank?
    Raven.user_context(id: user_id)
    Raven.tags_context(account_id: account_id)
    Raven.capture_exception(exception)
  end
  handle_error(exception.message, category: category, user_id: user_id, account_id: account_id,
                                  extra_info: extra_info, type: type)
end
handle_info(message, type: '', category: '', user_id: '', account_id: '', extra_info: {}) click to toggle source
# File lib/plogger/handler.rb, line 38
def handle_info(message, type: '', category: '', user_id: '', account_id: '', extra_info: {})
  result = generate_id_and_message(message, category: category, user_id: user_id,
                                            account_id: account_id, type: type,
                                            extra_info: generate_extra_info(extra_info))
  @logger.info(result[:message])
  result[:trace]
end
handle_warning(message, type: '', category: '', user_id: '', account_id: '', extra_info: {}) click to toggle source
# File lib/plogger/handler.rb, line 30
def handle_warning(message, type: '', category: '', user_id: '', account_id: '', extra_info: {})
  result = generate_id_and_message(message, category: category, user_id: user_id,
                                            account_id: account_id, type: type,
                                            extra_info: generate_extra_info(extra_info))
  @logger.warn(result[:message])
  result[:trace]
end

Private Instance Methods

generate_extra_info(extra_info) click to toggle source
# File lib/plogger/handler.rb, line 66
def generate_extra_info extra_info
  extra_info.merge({module: @module})
end
generate_id_and_message(message, type: '', category: '', user_id: '', account_id: '', extra_info: {}) click to toggle source
# File lib/plogger/handler.rb, line 56
def generate_id_and_message(message, type: '', category: '', user_id: '', account_id: '', extra_info: {})
  trace = Plogger::IdGenerator.generate
  formatted_message = Plogger::Formatter.format(message, trace, user_id: user_id,
                                                                account_id: account_id,
                                                                category: category,
                                                                type: type,
                                                                extra_info: extra_info)
  {trace: trace, message: formatted_message}
end