debug_logging 3.1.8 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,16 +1,17 @@
1
- # frozen_string_literal: true
1
+ require "date"
2
+ require "time"
2
3
 
3
4
  module DebugLogging
4
5
  module ArgumentPrinter
5
6
  def debug_benchmark_to_s(tms:)
6
- "completed in #{format('%f', tms.real)}s (#{format('%f', tms.total)}s CPU)"
7
+ "completed in #{format("%f", tms.real)}s (#{format("%f", tms.total)}s CPU)"
7
8
  end
8
9
 
9
- def debug_invocation_id_to_s(args: nil, config_proxy: nil)
10
- return '' unless args && config_proxy
10
+ def debug_invocation_id_to_s(args: nil, kwargs: nil, config_proxy: nil)
11
+ return "" unless (args || kwargs) && config_proxy
11
12
 
12
13
  if config_proxy.debug_add_invocation_id
13
- invocation = " ~#{args.object_id}@#{(Time.now.to_f.to_s % '%#-21a')[4..-4]}~"
14
+ invocation = " ~#{args.object_id}|#{kwargs.object_id}@#{(Time.now.to_f.to_s % "%#-21a")[4..-4]}~"
14
15
  case config_proxy.debug_add_invocation_id
15
16
  when true
16
17
  invocation
@@ -18,32 +19,51 @@ module DebugLogging
18
19
  config_proxy.debug_add_invocation_id.call(ColorizedString[invocation])
19
20
  end
20
21
  else
21
- ''
22
+ ""
23
+ end
24
+ end
25
+
26
+ def debug_time_to_s(time_or_monotonic)
27
+ # Time format must match:
28
+ # \d{4,}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} [-+]\d{4}
29
+ # YYYY-MM-DD HH:mm:ss +00:00
30
+ # strftime("%F %T %z")
31
+ case time_or_monotonic
32
+ when Float
33
+ Time.at(time_or_monotonic).strftime("%F %T %z")
34
+ when Time, DateTime
35
+ time_or_monotonic.strftime("%F %T %z")
36
+ when String
37
+ Time.parse(time_or_monotonic).strftime("%F %T %z")
38
+ else
39
+ time_or_monotonic
22
40
  end
23
41
  end
24
42
 
25
43
  def debug_invocation_to_s(klass: nil, separator: nil, method_to_log: nil, config_proxy: nil)
26
- return '' unless config_proxy
44
+ return "" unless config_proxy
27
45
 
28
46
  klass_string = if config_proxy.debug_colorized_chain_for_class
29
- config_proxy.debug_colorized_chain_for_class.call(ColorizedString[klass.to_s])
30
- else
31
- klass.to_s
32
- end
47
+ config_proxy.debug_colorized_chain_for_class.call(ColorizedString[klass.to_s])
48
+ else
49
+ klass.to_s
50
+ end
33
51
  method_string = if config_proxy.debug_colorized_chain_for_method
34
- config_proxy.debug_colorized_chain_for_method.call(ColorizedString[method_to_log.to_s])
35
- else
36
- method_to_log.to_s
37
- end
52
+ config_proxy.debug_colorized_chain_for_method.call(ColorizedString[method_to_log.to_s])
53
+ else
54
+ method_to_log.to_s
55
+ end
38
56
  "#{klass_string}#{separator}#{method_string}"
39
57
  end
40
58
 
41
- def debug_signature_to_s(args: nil, config_proxy: nil) # rubocop:disable Metrics/CyclomaticComplexity
42
- return '' unless args && config_proxy
59
+ def debug_signature_to_s(args: nil, kwargs: nil, config_proxy: nil) # rubocop:disable Metrics/CyclomaticComplexity
60
+ return "" unless (args || kwargs) && config_proxy
43
61
 
44
- printed_args = ''
62
+ printed_args = ""
45
63
 
46
64
  add_args_ellipsis = false
65
+ args = args.dup
66
+ args.push(kwargs) if kwargs
47
67
  if config_proxy.debug_last_hash_to_s_proc && args[-1].is_a?(Hash)
48
68
  add_other_args_ellipsis = false
49
69
  if args.length > 1
@@ -52,18 +72,18 @@ module DebugLogging
52
72
  arg.is_a?(Hash)
53
73
  end
54
74
  other_args_string = if config_proxy.debug_args_to_s_proc
55
- printed, add_other_args_ellipsis = debug_safe_proc(
56
- proc_name:'args_to_s_proc',
57
- proc: config_proxy.debug_args_to_s_proc,
58
- args: other_args,
59
- max_length: config_proxy.debug_args_max_length
60
- )
61
- printed
62
- else
63
- other_args.map(&:inspect).join(', ').tap do |x|
64
- add_other_args_ellipsis = x.length > config_proxy.debug_args_max_length
65
- end[0..(config_proxy.debug_args_max_length)]
66
- end
75
+ printed, add_other_args_ellipsis = debug_safe_proc(
76
+ proc_name: "args_to_s_proc",
77
+ proc: config_proxy.debug_args_to_s_proc,
78
+ args: other_args,
79
+ max_length: config_proxy.debug_args_max_length,
80
+ )
81
+ printed
82
+ else
83
+ other_args.map(&:inspect).join(", ").tap do |x|
84
+ add_other_args_ellipsis = x.length > config_proxy.debug_args_max_length
85
+ end[0..(config_proxy.debug_args_max_length)]
86
+ end
67
87
  other_args_string += config_proxy.debug_ellipsis if add_other_args_ellipsis
68
88
  # On the debug_multiple_last_hashes truthy branch we don't print the ellipsis after regular args
69
89
  # because it will go instead after each of the last hashes (if needed)
@@ -71,73 +91,73 @@ module DebugLogging
71
91
  last_hash_args_string = last_hash_args.map do |arg|
72
92
  arr = []
73
93
  printed, add_last_hash_ellipsis = debug_safe_proc(
74
- proc_name:'last_hash_to_s_proc',
94
+ proc_name: "last_hash_to_s_proc",
75
95
  proc: config_proxy.debug_last_hash_to_s_proc,
76
96
  args: arg,
77
- max_length: config_proxy.debug_last_hash_max_length
97
+ max_length: config_proxy.debug_last_hash_max_length,
78
98
  )
79
99
  printed += config_proxy.debug_ellipsis if add_last_hash_ellipsis
80
100
  arr << printed
81
101
  arr
82
- end.flatten.join(', ')
102
+ end.flatten.join(", ")
83
103
  printed_args += other_args_string if other_args_string
84
- printed_args += ', ' if !other_args_string.empty? && !last_hash_args_string.empty?
104
+ printed_args += ", " if !other_args_string.empty? && !last_hash_args_string.empty?
85
105
  printed_args += last_hash_args_string if last_hash_args_string && !last_hash_args_string.empty?
86
106
  else
87
107
  other_args = args[0..-2]
88
108
  other_args_string = if config_proxy.debug_args_to_s_proc
89
- printed, add_other_args_ellipsis = debug_safe_proc(
90
- proc_name:'args_to_s_proc',
91
- proc: config_proxy.debug_args_to_s_proc,
92
- args: other_args,
93
- max_length: config_proxy.debug_args_max_length
94
- )
95
- printed
96
- else
97
- other_args.map(&:inspect).join(', ').tap do |x|
98
- add_other_args_ellipsis = x.length > config_proxy.debug_args_max_length
99
- end[0..(config_proxy.debug_args_max_length)]
100
- end
109
+ printed, add_other_args_ellipsis = debug_safe_proc(
110
+ proc_name: "args_to_s_proc",
111
+ proc: config_proxy.debug_args_to_s_proc,
112
+ args: other_args,
113
+ max_length: config_proxy.debug_args_max_length,
114
+ )
115
+ printed
116
+ else
117
+ other_args.map(&:inspect).join(", ").tap do |x|
118
+ add_other_args_ellipsis = x.length > config_proxy.debug_args_max_length
119
+ end[0..(config_proxy.debug_args_max_length)]
120
+ end
101
121
  other_args_string += config_proxy.debug_ellipsis if add_other_args_ellipsis
102
122
  printed_args += other_args_string
103
123
  printed, add_last_hash_ellipsis = debug_safe_proc(
104
- proc_name:'last_hash_to_s_proc',
124
+ proc_name: "last_hash_to_s_proc",
105
125
  proc: config_proxy.debug_last_hash_to_s_proc,
106
126
  args: args[-1],
107
- max_length: config_proxy.debug_last_hash_max_length
127
+ max_length: config_proxy.debug_last_hash_max_length,
108
128
  )
109
129
  printed_args += ", #{printed}"
110
130
  printed_args += config_proxy.debug_ellipsis if add_last_hash_ellipsis
111
131
  end
112
132
  else
113
133
  printed, add_last_hash_ellipsis = debug_safe_proc(
114
- proc_name:'last_hash_to_s_proc',
134
+ proc_name: "last_hash_to_s_proc",
115
135
  proc: config_proxy.debug_last_hash_to_s_proc,
116
136
  args: args[0],
117
- max_length: config_proxy.debug_last_hash_max_length
137
+ max_length: config_proxy.debug_last_hash_max_length,
118
138
  )
119
139
  printed_args += printed
120
140
  printed_args += config_proxy.debug_ellipsis if add_last_hash_ellipsis
121
141
  end
122
142
  else
123
143
  printed_args += if config_proxy.debug_args_to_s_proc
124
- printed, add_args_ellipsis = debug_safe_proc(
125
- proc_name:'args_to_s_proc',
126
- proc: config_proxy.debug_args_to_s_proc,
127
- args: args,
128
- max_length: config_proxy.debug_args_max_length
129
- )
130
- printed
131
- elsif args.length == 1 && args[0].is_a?(Hash)
132
- # handle double splat
133
- ("**#{args.map(&:inspect).join(', ').tap do |x|
134
- add_args_ellipsis = x.length > config_proxy.debug_args_max_length
135
- end }")[0..(config_proxy.debug_args_max_length)]
136
- else
137
- args.map(&:inspect).join(', ').tap do |x|
138
- add_args_ellipsis = x.length > config_proxy.debug_args_max_length
139
- end[0..(config_proxy.debug_args_max_length)]
140
- end
144
+ printed, add_args_ellipsis = debug_safe_proc(
145
+ proc_name: "args_to_s_proc",
146
+ proc: config_proxy.debug_args_to_s_proc,
147
+ args: args,
148
+ max_length: config_proxy.debug_args_max_length,
149
+ )
150
+ printed
151
+ elsif args.length == 1 && args[0].is_a?(Hash)
152
+ # handle double splat
153
+ "**#{args.map(&:inspect).join(", ").tap do |x|
154
+ add_args_ellipsis = x.length > config_proxy.debug_args_max_length
155
+ end }"[0..(config_proxy.debug_args_max_length)]
156
+ else
157
+ args.map(&:inspect).join(", ").tap do |x|
158
+ add_args_ellipsis = x.length > config_proxy.debug_args_max_length
159
+ end[0..(config_proxy.debug_args_max_length)]
160
+ end
141
161
  printed_args += config_proxy.debug_ellipsis if add_args_ellipsis
142
162
  end
143
163
  "(#{printed_args})"
@@ -149,34 +169,30 @@ module DebugLogging
149
169
  add_ellipsis = false
150
170
  printed = String(proc.call(args)).tap do |x|
151
171
  add_ellipsis = x.length > max_length
152
- end[0..(max_length)]
153
- return printed, add_ellipsis
154
- rescue => e
155
- return "#{e.class}: #{e.message}\nPlease check that your #{proc_name} is able to handle #{args}", false
172
+ end[0..max_length]
173
+ [printed, add_ellipsis]
174
+ rescue StandardError => e
175
+ ["#{e.class}: #{e.message}\nPlease check that your #{proc_name} is able to handle #{args}", false]
156
176
  end
157
177
  end
158
178
 
159
179
  def debug_payload_to_s(payload: nil, config_proxy: nil)
160
- return '' unless payload && config_proxy
180
+ return "" unless payload && config_proxy
161
181
 
162
- if payload
163
- case config_proxy.debug_add_payload
164
- when true
165
- payload.inspect
166
- else
167
- printed_payload = ""
168
- printed, add_payload_ellipsis = debug_safe_proc(
169
- proc_name: "add_payload",
170
- proc: config_proxy.debug_add_payload,
171
- args: payload,
172
- max_length: config_proxy.payload_max_length
173
- )
174
- printed_payload += printed
175
- printed_payload += config_proxy.debug_ellipsis if add_payload_ellipsis
176
- printed_payload
177
- end
182
+ case config_proxy.debug_add_payload
183
+ when true
184
+ payload.inspect
178
185
  else
179
- ''
186
+ printed_payload = ""
187
+ printed, add_payload_ellipsis = debug_safe_proc(
188
+ proc_name: "add_payload",
189
+ proc: config_proxy.debug_add_payload,
190
+ args: payload,
191
+ max_length: config_proxy.payload_max_length,
192
+ )
193
+ printed_payload += printed
194
+ printed_payload += config_proxy.debug_ellipsis if add_payload_ellipsis
195
+ printed_payload
180
196
  end
181
197
  end
182
198
 
@@ -1,18 +1,16 @@
1
- # frozen_string_literal: true
2
-
3
1
  module DebugLogging
4
2
  module ClassLogger
5
3
  def logged(*methods_to_log)
6
4
  methods_to_log, payload, config_opts = DebugLogging::Util.extract_payload_and_config(
7
5
  method_names: methods_to_log,
8
6
  payload: nil,
9
- config: nil
7
+ config: nil,
10
8
  )
11
9
  Array(methods_to_log).each do |method_to_log|
12
10
  method_to_log, method_payload, method_config_opts = DebugLogging::Util.extract_payload_and_config(
13
11
  method_names: method_to_log,
14
12
  payload: payload,
15
- config: config_opts
13
+ config: config_opts,
16
14
  )
17
15
  original_method = method(method_to_log)
18
16
  (class << self; self; end).class_eval do
@@ -21,16 +19,20 @@ module DebugLogging
21
19
  scope: self,
22
20
  config_opts: method_config_opts,
23
21
  method_name: method_to_log,
24
- proxy_ref: 'kl'
22
+ proxy_ref: "kl",
25
23
  )
26
24
  method_return_value = nil
27
25
  log_prefix = nil
28
26
  invocation_id = nil
29
27
  begin
30
28
  config_proxy.log do
31
- paydirt = DebugLogging::Util.payload_instance_vaiable_hydration(scope: self, payload: method_payload)
32
- log_prefix = debug_invocation_to_s(klass: to_s, separator: '.', method_to_log: method_to_log,
33
- config_proxy: config_proxy)
29
+ paydirt = DebugLogging::Util.payload_instance_variable_hydration(scope: self, payload: method_payload)
30
+ log_prefix = debug_invocation_to_s(
31
+ klass: to_s,
32
+ separator: "::",
33
+ method_to_log: method_to_log,
34
+ config_proxy: config_proxy,
35
+ )
34
36
  invocation_id = debug_invocation_id_to_s(args: args, config_proxy: config_proxy)
35
37
  signature = debug_signature_to_s(args: args, config_proxy: config_proxy)
36
38
  paymud = debug_payload_to_s(payload: paydirt, config_proxy: config_proxy)
@@ -39,20 +41,20 @@ module DebugLogging
39
41
  if config_proxy.benchmarkable_for?(:debug_class_benchmarks)
40
42
  tms = Benchmark.measure do
41
43
  method_return_value = if args.size == 1 && (harsh = args[0]) && harsh.is_a?(Hash)
42
- original_method.call(**harsh, &block)
43
- else
44
- original_method.call(*args, &block)
45
- end
44
+ original_method.call(**harsh, &block)
45
+ else
46
+ original_method.call(*args, &block)
47
+ end
46
48
  end
47
49
  config_proxy.log do
48
50
  "#{log_prefix} #{debug_benchmark_to_s(tms: tms)}#{invocation_id}"
49
51
  end
50
52
  else
51
53
  method_return_value = if args.size == 1 && (harsh = args[0]) && harsh.is_a?(Hash)
52
- original_method.call(**harsh, &block)
53
- else
54
- original_method.call(*args, &block)
55
- end
54
+ original_method.call(**harsh, &block)
55
+ else
56
+ original_method.call(*args, &block)
57
+ end
56
58
  if config_proxy.exit_scope_markable? && invocation_id && !invocation_id.empty?
57
59
  config_proxy.log do
58
60
  "#{log_prefix} completed#{invocation_id}"
@@ -60,11 +62,11 @@ module DebugLogging
60
62
  end
61
63
  end
62
64
  method_return_value
63
- rescue => error
65
+ rescue StandardError => e
64
66
  if config_proxy.error_handler_proc
65
- config_proxy.error_handler_proc.call(config_proxy, error, self, method_to_log, args)
67
+ config_proxy.error_handler_proc.call(config_proxy, e, self, method_to_log, args)
66
68
  else
67
- raise error
69
+ raise e
68
70
  end
69
71
  end
70
72
  end
@@ -1,18 +1,16 @@
1
- # frozen_string_literal: true
2
-
3
1
  module DebugLogging
4
2
  module ClassNotifier
5
- def notifies(*methods_to_notify)
3
+ def notified(*methods_to_notify)
6
4
  methods_to_notify, payload, config_opts = DebugLogging::Util.extract_payload_and_config(
7
5
  method_names: methods_to_notify,
8
6
  payload: nil,
9
- config: nil
7
+ config: nil,
10
8
  )
11
9
  Array(methods_to_notify).each do |method_to_notify|
12
10
  method_to_notify, method_payload, method_config_opts = DebugLogging::Util.extract_payload_and_config(
13
11
  method_names: method_to_notify,
14
12
  payload: payload,
15
- config: config_opts
13
+ config: config_opts,
16
14
  )
17
15
  original_method = method(method_to_notify)
18
16
  (class << self; self; end).class_eval do
@@ -21,37 +19,35 @@ module DebugLogging
21
19
  scope: self,
22
20
  config_opts: method_config_opts,
23
21
  method_name: method_to_notify,
24
- proxy_ref: 'kn'
22
+ proxy_ref: "kn",
25
23
  ) do |proxy|
26
24
  ActiveSupport::Notifications.subscribe(
27
- DebugLogging::ArgumentPrinter.debug_event_name_to_s(method_to_notify: method_to_notify)
25
+ DebugLogging::ArgumentPrinter.debug_event_name_to_s(method_to_notify: method_to_notify),
28
26
  ) do |*debug_args|
29
27
  proxy.log do
30
28
  DebugLogging::LogSubscriber.log_event(ActiveSupport::Notifications::Event.new(*debug_args))
31
29
  end
32
30
  end
33
31
  end
34
- paydirt = DebugLogging::Util.payload_instance_vaiable_hydration(scope: self, payload: method_payload)
32
+ paydirt = DebugLogging::Util.payload_instance_variable_hydration(scope: self, payload: method_payload)
35
33
  ActiveSupport::Notifications.instrument(
36
34
  DebugLogging::ArgumentPrinter.debug_event_name_to_s(method_to_notify: method_to_notify),
37
35
  {
38
36
  debug_args: args,
39
37
  config_proxy: config_proxy,
40
- **paydirt
41
- }
38
+ **paydirt,
39
+ },
42
40
  ) do
43
- begin
44
- if args.size == 1 && (harsh = args[0]) && harsh.is_a?(Hash)
45
- original_method.call(**harsh, &block)
46
- else
47
- original_method.call(*args, &block)
48
- end
49
- rescue => error
50
- if config_proxy.error_handler_proc
51
- config_proxy.error_handler_proc.call(config_proxy, error, self, method_to_notify, args)
52
- else
53
- raise error
54
- end
41
+ if args.size == 1 && (harsh = args[0]) && harsh.is_a?(Hash)
42
+ original_method.call(**harsh, &block)
43
+ else
44
+ original_method.call(*args, &block)
45
+ end
46
+ rescue StandardError => e
47
+ if config_proxy.error_handler_proc
48
+ config_proxy.error_handler_proc.call(config_proxy, e, self, method_to_notify, args)
49
+ else
50
+ raise e
55
51
  end
56
52
  end
57
53
  end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module DebugLogging
4
2
  class Configuration
5
3
  include Constants
@@ -11,21 +9,20 @@ module DebugLogging
11
9
  # alias the readers to the debug_* prefix so an instance of this class
12
10
  # can have the same API granted by `extend DebugLogging`
13
11
  #
14
- # include DebugLogging::InstanceLogger.new(
15
- # i_methods: [:drive, :stop],
16
- # config: {
17
- # logger: Logger.new(STDOUT) # probably want to override to be the Rails.logger
18
- # log_level: :debug # at what level do the messages created by this gem sent at?
19
- # last_hash_to_s_proc: nil # e.g. ->(hash) { "keys: #{hash.keys}" }
20
- # last_hash_max_length: 1_000
21
- # args_to_s_proc: nil # e.g. ->(record) { "record id: #{record.id}" }
22
- # args_max_length: 1_000
23
- # instance_benchmarks: false
24
- # class_benchmarks: false
25
- # add_invocation_id: true # invocation id allows you to identify a method call uniquely in a log
26
- # ellipsis: " ✂️ …".freeze
12
+ # extend DebugLogging::InstanceLogger
13
+ # i_logged [:drive, :stop],
14
+ # {
15
+ # logger: Logger.new(STDOUT) # probably want to override to be the Rails.logger
16
+ # log_level: :debug # at what level do the messages created by this gem sent at?
17
+ # last_hash_to_s_proc: nil # e.g. ->(hash) { "keys: #{hash.keys}" }
18
+ # last_hash_max_length: 1_000
19
+ # args_to_s_proc: nil # e.g. ->(*record) { "record id: #{record.first.id}" }
20
+ # args_max_length: 1_000
21
+ # instance_benchmarks: false
22
+ # class_benchmarks: false
23
+ # add_invocation_id: true # invocation id allows you to identify a method call uniquely in a log
24
+ # ellipsis: " ✂️ …".freeze
27
25
  # }
28
- # )
29
26
  #
30
27
  CONFIG_KEYS.each do |key|
31
28
  alias_method :"debug_#{key}", :"#{key}"
@@ -39,12 +36,13 @@ module DebugLogging
39
36
  "@debug_logging_config_#{type}_#{Digest::MD5.hexdigest(method_to_log.to_s)}".to_sym
40
37
  end
41
38
  end
39
+
42
40
  def initialize(**options)
43
41
  CONFIG_ATTRS.each do |key|
44
- send("#{key}=", get_attr_from_options(options, key))
42
+ send(:"#{key}=", get_attr_from_options(options, key))
45
43
  end
46
44
  CONFIG_READERS.each do |key|
47
- send("#{key}=", get_reader_from_options(options, key))
45
+ send(:"#{key}=", get_reader_from_options(options, key))
48
46
  end
49
47
  @methods_to_log = []
50
48
  end
@@ -63,7 +61,7 @@ module DebugLogging
63
61
  def loggable?
64
62
  return @loggable if defined?(@loggable)
65
63
 
66
- @loggable = logger.send("#{log_level}?")
64
+ @loggable = logger.send(:"#{log_level}?")
67
65
  end
68
66
 
69
67
  def benchmarkable_for?(benchmarks)
@@ -79,23 +77,23 @@ module DebugLogging
79
77
  end
80
78
 
81
79
  def instance_benchmarks=(instance_benchmarks)
82
- require 'benchmark' if instance_benchmarks
80
+ require "benchmark" if instance_benchmarks
83
81
  @instance_benchmarks = instance_benchmarks
84
82
  end
85
83
 
86
84
  def class_benchmarks=(class_benchmarks)
87
- require 'benchmark' if class_benchmarks
85
+ require "benchmark" if class_benchmarks
88
86
  @class_benchmarks = class_benchmarks
89
87
  end
90
88
 
91
89
  def active_support_notifications=(active_support_notifications)
92
- require 'debug_logging/active_support_notifications' if active_support_notifications
90
+ require "debug_logging/active_support_notifications" if active_support_notifications
93
91
  @active_support_notifications = active_support_notifications
94
92
  end
95
93
 
96
94
  def to_hash
97
95
  CONFIG_KEYS.each_with_object({}) do |key, hash|
98
- hash[key] = instance_variable_get("@#{key}")
96
+ hash[key] = instance_variable_get(:"@#{key}")
99
97
  end
100
98
  end
101
99
 
@@ -1,8 +1,6 @@
1
- # frozen_string_literal: true
2
-
3
1
  module DebugLogging
4
2
  module Constants
5
- DEFAULT_ELLIPSIS = ' ✂️ …'
3
+ DEFAULT_ELLIPSIS = " ✂️ …"
6
4
  CONFIG_ATTRS_DEFAULTS = {
7
5
  enabled: true,
8
6
  logger: Logger.new($stdout),
@@ -19,13 +17,13 @@ module DebugLogging
19
17
  mark_scope_exit: false,
20
18
  add_payload: true, # Can also be a proc returning a string, which will be called when printing the payload
21
19
  payload_max_length: 1_000,
22
- error_handler_proc: nil
20
+ error_handler_proc: nil,
23
21
  }.freeze
24
22
  CONFIG_ATTRS = CONFIG_ATTRS_DEFAULTS.keys
25
23
  CONFIG_READERS_DEFAULTS = {
26
24
  instance_benchmarks: false,
27
25
  class_benchmarks: false,
28
- active_support_notifications: false
26
+ active_support_notifications: false,
29
27
  }.freeze
30
28
  CONFIG_READERS = CONFIG_READERS_DEFAULTS.keys
31
29
  CONFIG_KEYS = CONFIG_ATTRS + CONFIG_READERS
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  # From: https://stackoverflow.com/a/34559282
4
2
  # License: https://creativecommons.org/licenses/by-sa/4.0/
5
3
  module DebugLogging
@@ -10,7 +8,7 @@ module DebugLogging
10
8
  if obj.respond_to?(:debug_finalize)
11
9
  obj.debug_finalize
12
10
  else
13
- warn "#{obj} does not define a debug_finalize"
11
+ warn("#{obj} does not define a debug_finalize")
14
12
  end
15
13
  t.disable
16
14
  end