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