module Honeybadger::Breadcrumbs::LogWrapper

@api private

Public Instance Methods

add(severity, message = nil, progname = nil) click to toggle source
Calls superclass method
# File lib/honeybadger/breadcrumbs/logging.rb, line 6
def add(severity, message = nil, progname = nil)
  org_severity, org_message, org_progname = severity, message, progname
  if defined?(Dry::Logger::Entry) && progname.is_a?(Dry::Logger::Entry) # Hanami uses dry-logger
    message, progname = progname.message || progname.exception, progname.progname
  else
    message, progname = [progname, nil] if message.nil?
  end
  message = message && message.to_s.strip
  unless should_ignore_log?(message, progname)
    Honeybadger.add_breadcrumb(message, category: :log, metadata: {
      severity: format_severity(severity),
      progname: progname
    })
  end

  super(org_severity, org_message, org_progname)
end

Private Instance Methods

should_ignore_log?(message, progname) click to toggle source
# File lib/honeybadger/breadcrumbs/logging.rb, line 26
def should_ignore_log?(message, progname)
  message.nil? ||
  message == "" ||
  Thread.current[:__hb_within_log_subscriber] ||
  progname == "honeybadger"
end