module Honeybadger::Breadcrumbs::LogWrapper
def add(severity, message = nil, progname = nil)
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
def should_ignore_log?(message, progname)
def should_ignore_log?(message, progname) message.nil? || message == "" || Thread.current[:__hb_within_log_subscriber] || progname == "honeybadger" end