class SemanticLogger::Appender::Honeybadger
Public Class Methods
new(level: :error, **args, &block)
click to toggle source
Parameters
level: [:trace | :debug | :info | :warn | :error | :fatal] Override the log level for this appender. Default: :error formatter: [Object|Proc|Symbol|Hash] An instance of a class that implements #call, or a Proc to be used to format the output from this appender Default: Use the built-in formatter (See: #call) filter: [Regexp|Proc] RegExp: Only include log messages where the class name matches the supplied. regular expression. All other messages will be ignored. Proc: Only include log messages where the supplied Proc returns true The Proc must return true or false. host: [String] Name of this host to appear in log messages. Default: SemanticLogger.host application: [String] Name of this application to appear in log messages. Default: SemanticLogger.application
Calls superclass method
SemanticLogger::Subscriber::new
# File lib/semantic_logger/appender/honeybadger.rb, line 40 def initialize(level: :error, **args, &block) super(level: level, **args, &block) end
Public Instance Methods
log(log)
click to toggle source
Send an error notification to honeybadger
# File lib/semantic_logger/appender/honeybadger.rb, line 45 def log(log) context = formatter.call(log, self) if log.exception context.delete(:exception) ::Honeybadger.notify(log.exception, context) else message = { error_class: context.delete(:name), error_message: context.delete(:message), context: context } message[:backtrace] = log.backtrace if log.backtrace ::Honeybadger.notify(message) end true end
Private Instance Methods
default_formatter()
click to toggle source
Use Raw Formatter by default
# File lib/semantic_logger/appender/honeybadger.rb, line 65 def default_formatter SemanticLogger::Formatters::Raw.new end