lograge 0.14.0 → 0.15.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d989dce1202da74220c6ac7926c3ef413502644e6f456589a334278ea357a4d
4
- data.tar.gz: be68c46645948d5cc157a475b8820f50453fecaf9cc5e0f23bc842ec432eaa48
3
+ metadata.gz: 61fb6a597eb84cb10c97a1155d5dc983811c159fecdc00625db65fb46b3cf693
4
+ data.tar.gz: da3bfa1e8eaa35ad80caa7c743f826e7560fc8961c19f5fe342cde8fb0a830cf
5
5
  SHA512:
6
- metadata.gz: 273878d74ebdf36f2e703f6c4f0c70e6e17633f13dfc82bc7297ee5b209bb640a09da601768d16d4ca839bb22dfad7f0b8ee832676e4d94d4a96a90b1b5bfadc
7
- data.tar.gz: c8503e3b547652a44076a858d0d566b1c75a273ef3efc6357398f7d5c41be7b656cf09687f96c1fe2437d16e4d8c8a657bfb7665055dab16e3a05230adf80e40
6
+ metadata.gz: 6fe3ff2a303961c236c2407edfd585ffcffe2c5026453d497a95d731a81769e92e5814fcfbaa5c4d2e442b2b8112d597874ca4c64f9045ec8c0415acc223db60
7
+ data.tar.gz: 537eae531458214b65cc3776e959a6c592bfcef17803421335d52b63b021172c62bf1f2da2b9218a4b47f1a2a00dca3945a3b3e5e7fd324744aa7be6427aaeee
@@ -13,7 +13,7 @@ module Lograge
13
13
  end
14
14
 
15
15
  def underscore_prefix(key)
16
- "_#{key}".to_sym
16
+ :"_#{key}"
17
17
  end
18
18
 
19
19
  def short_message(data)
@@ -21,7 +21,7 @@ module Lograge
21
21
 
22
22
  def parse_value(key, value)
23
23
  # Exactly preserve the previous output
24
- # Parsing this can be ambigious if the error messages contains
24
+ # Parsing this can be ambiguous if the error messages contains
25
25
  # a single quote
26
26
  return "'#{value}'" if key == :error
27
27
  return Kernel.format('%.2f', value) if value.is_a? Float
@@ -4,7 +4,7 @@ module Lograge
4
4
  module Formatters
5
5
  class KeyValueDeep < KeyValue
6
6
  def call(data)
7
- super flatten_keys(data)
7
+ super(flatten_keys(data))
8
8
  end
9
9
 
10
10
  protected
@@ -40,7 +40,7 @@ module Lograge
40
40
  def format(key, value)
41
41
  key = "measure#page.#{key}" if value.is_a?(Float)
42
42
 
43
- super(key, value)
43
+ super
44
44
  end
45
45
 
46
46
  def modify_payload(data)
@@ -17,7 +17,7 @@ module Lograge
17
17
  def format(key, value)
18
18
  if key == :error
19
19
  # Exactly preserve the previous output
20
- # Parsing this can be ambigious if the error messages contains
20
+ # Parsing this can be ambiguous if the error messages contains
21
21
  # a single quote
22
22
  value = "'#{escape value}'"
23
23
  elsif value.is_a? Float
@@ -61,7 +61,7 @@ module Lograge
61
61
  end
62
62
 
63
63
  def extract_allocations(event)
64
- if (allocations = (event.respond_to?(:allocations) && event.allocations))
64
+ if (allocations = event.respond_to?(:allocations) && event.allocations)
65
65
  { allocations: allocations }
66
66
  else
67
67
  {}
@@ -5,9 +5,7 @@ require 'delegate'
5
5
  module Lograge
6
6
  class SilentLogger < SimpleDelegator
7
7
  %i[debug info warn error fatal unknown].each do |method_name|
8
- # rubocop:disable Lint/EmptyBlock
9
8
  define_method(method_name) { |*_args| }
10
- # rubocop:enable Lint/EmptyBlock
11
9
  end
12
10
  end
13
11
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lograge
4
- VERSION = '0.14.0'
4
+ VERSION = '0.15.1'
5
5
  end
data/lib/lograge.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'logger'
3
4
  require 'lograge/version'
4
5
  require 'lograge/formatters/helpers/method_and_path'
5
6
  require 'lograge/formatters/cee'
@@ -21,7 +22,6 @@ require 'active_support'
21
22
  require 'active_support/core_ext/module/attribute_accessors'
22
23
  require 'active_support/core_ext/string/inflections'
23
24
 
24
- # rubocop:disable Metrics/ModuleLength
25
25
  module Lograge
26
26
  module_function
27
27
 
@@ -121,11 +121,20 @@ module Lograge
121
121
  events = subscriber.public_methods(false).reject { |method| method.to_s == 'call' }
122
122
  events.each do |event|
123
123
  Lograge.notification_listeners_for("#{event}.#{component}").each do |listener|
124
- ActiveSupport::Notifications.unsubscribe listener if listener.instance_variable_get('@delegate') == subscriber
124
+ ActiveSupport::Notifications.unsubscribe listener if rails_log_subscriber?(listener, subscriber)
125
125
  end
126
126
  end
127
127
  end
128
128
 
129
+ def rails_log_subscriber?(listener, subscriber)
130
+ delegate = listener.instance_variable_get('@delegate')
131
+ return true if delegate == subscriber
132
+
133
+ # Rails 7.1+ attaches a separate ActionView::LogSubscriber::Start listener
134
+ # alongside ActionView::LogSubscriber to log the start of template rendering.
135
+ defined?(ActionView::LogSubscriber::Start) && delegate.is_a?(ActionView::LogSubscriber::Start)
136
+ end
137
+
129
138
  def setup(app)
130
139
  self.application = app
131
140
  disable_rack_cache_verbose_output
@@ -240,6 +249,5 @@ module Lograge
240
249
  end
241
250
  end
242
251
  end
243
- # rubocop:enable Metrics/ModuleLength
244
252
 
245
253
  require 'lograge/railtie' if defined?(Rails)
metadata CHANGED
@@ -1,17 +1,86 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lograge
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.0
4
+ version: 0.15.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Meyer
8
8
  - Ben Lovell
9
9
  - Michael Bianco
10
- autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2023-10-10 00:00:00.000000000 Z
12
+ date: 1980-01-02 00:00:00.000000000 Z
14
13
  dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: base64
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: benchmark
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bigdecimal
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ - !ruby/object:Gem::Dependency
57
+ name: mutex_m
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rdoc
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - "<"
75
+ - !ruby/object:Gem::Version
76
+ version: '8'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - "<"
82
+ - !ruby/object:Gem::Version
83
+ version: '8'
15
84
  - !ruby/object:Gem::Dependency
16
85
  name: rspec
17
86
  requirement: !ruby/object:Gem::Requirement
@@ -82,6 +151,20 @@ dependencies:
82
151
  - - ">="
83
152
  - !ruby/object:Gem::Version
84
153
  version: '4'
154
+ - !ruby/object:Gem::Dependency
155
+ name: logger
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :runtime
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
85
168
  - !ruby/object:Gem::Dependency
86
169
  name: railties
87
170
  requirement: !ruby/object:Gem::Requirement
@@ -149,7 +232,6 @@ licenses:
149
232
  metadata:
150
233
  rubygems_mfa_required: 'true'
151
234
  changelog_uri: https://github.com/roidrage/lograge/blob/master/CHANGELOG.md
152
- post_install_message:
153
235
  rdoc_options: []
154
236
  require_paths:
155
237
  - lib
@@ -164,8 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
164
246
  - !ruby/object:Gem::Version
165
247
  version: '0'
166
248
  requirements: []
167
- rubygems_version: 3.4.10
168
- signing_key:
249
+ rubygems_version: 4.0.14
169
250
  specification_version: 4
170
251
  summary: Tame Rails' multi-line logging into a single line per request
171
252
  test_files: []