22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
# File 'lib/sentry/breadcrumb/sentry_logger.rb', line 22
def add_breadcrumb(severity, message = nil, progname = nil)
return unless Sentry.initialized? && Sentry.get_current_hub
category = "logger"
if message.nil?
if block_given?
message = yield
category = progname
else
message = progname
end
end
return if ignored_logger?(progname) || message == ""
message = message.to_s.strip
last_crumb = current_breadcrumbs.peek
if last_crumb.nil? || last_crumb.message != message
level = Sentry::Breadcrumb::SentryLogger::LEVELS.fetch(severity, nil)
crumb = Sentry::Breadcrumb.new(
level: level,
category: category,
message: message,
type: severity >= 3 ? "error" : level
)
Sentry.add_breadcrumb(crumb, hint: { severity: severity })
end
end
|