11# frozen_string_literal: true
22
33module Sentry
4- # Ruby Logger support Add commentMore actions
5- # intercepts any logger instance and send the log to Sentry too.
6- module StdLibLogger
7-
8- SEVERITY_MAP = {
9- 0 => :debug ,
10- 1 => :info ,
11- 2 => :warn ,
12- 3 => :error ,
13- 4 => :fatal
14- } . freeze
15-
16- def add ( severity , message = nil , progname = nil , &block )
17- super
18-
19- return unless Sentry . initialized? && Sentry . get_current_hub
20-
21- # exclude sentry SDK logs -- to prevent recursive log action,
22- # do not process internal logs again
23- if message . nil? && progname != Sentry ::Logger ::PROGNAME
24-
25- # handle different nature of Ruby Logger class:
26- # inspo from Sentry::Breadcrumb::SentryLogger
27- if block_given?
28- message = yield
29- else
30- message = progname
31- end
32-
33- message = message . to_s . strip
34-
35- if !message . nil? && message != Sentry ::Logger ::PROGNAME && method = SEVERITY_MAP [ severity ]
36- Sentry . logger . send ( method , message )
37- end
38- end
39-
40- super
41- end
42- end
4+ # Ruby Logger support Add commentMore actions
5+ # intercepts any logger instance and send the log to Sentry too.
6+ module StdLibLogger
7+ SEVERITY_MAP = {
8+ 0 => :debug ,
9+ 1 => :info ,
10+ 2 => :warn ,
11+ 3 => :error ,
12+ 4 => :fatal
13+ } . freeze
14+
15+ def add ( severity , message = nil , progname = nil , &block )
16+ super
17+
18+ return unless Sentry . initialized? && Sentry . get_current_hub
19+
20+ # exclude sentry SDK logs -- to prevent recursive log action,
21+ # do not process internal logs again
22+ if message . nil? && progname != Sentry ::Logger ::PROGNAME
23+
24+ # handle different nature of Ruby Logger class:
25+ # inspo from Sentry::Breadcrumb::SentryLogger
26+ if block_given?
27+ message = yield
28+ else
29+ message = progname
30+ end
31+
32+ message = message . to_s . strip
33+
34+ if !message . nil? && message != Sentry ::Logger ::PROGNAME && method = SEVERITY_MAP [ severity ]
35+ Sentry . logger . send ( method , message )
36+ end
37+ end
38+
39+ super
40+ end
41+ end
4342end
4443
4544Sentry . register_patch ( :logger ) do |config |
@@ -48,4 +47,4 @@ def add(severity, message = nil, progname = nil, &block)
4847 else
4948 Sentry . sdk_logger . warn ( ":logger patch enabled but `enable_logs` is turned off - skipping applying patch" )
5049 end
51- end
50+ end
0 commit comments