rails_semantic_logger 4.4.6 → 4.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rails_semantic_logger/action_controller/log_subscriber.rb +3 -0
- data/lib/rails_semantic_logger/action_view/log_subscriber.rb +3 -0
- data/lib/rails_semantic_logger/active_job/log_subscriber.rb +5 -1
- data/lib/rails_semantic_logger/active_record/log_subscriber.rb +31 -1
- data/lib/rails_semantic_logger/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 073a9356b40dc5616e3e4b179ea108d7419dc9e4bba685c230e41acd93ca48d4
|
4
|
+
data.tar.gz: 106766c0a81ed7a2d7b25c7810aa1edac1eedf5638426373209b168d7ea57b43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd450ba87b0d22e139fd7afa626ed4fb8566e3ebc70880c05fe2c73c1ff5067a8d3626a8bddd742160a3d25eced3f8e4431e1fac96432f0fe53e6ec740c78d46
|
7
|
+
data.tar.gz: 2bee7d442cab44140f00b9ca74d0b343d6e19933953487c5b21c094bea0c7f811f2bb6014090eda6a778eb1ebd8209f86a9b4c3afb471fd1fa9955ad3fc160e4
|
@@ -37,6 +37,9 @@ module RailsSemanticLogger
|
|
37
37
|
payload[key] = payload[key].to_f.round(2) if key.to_s =~ /(.*)_runtime/
|
38
38
|
end
|
39
39
|
|
40
|
+
# Rails 6+ includes allocation count
|
41
|
+
payload[:allocations] = event.allocations if event.respond_to?(:allocations)
|
42
|
+
|
40
43
|
payload[:status_message] = ::Rack::Utils::HTTP_STATUS_CODES[payload[:status]] if payload[:status].present?
|
41
44
|
|
42
45
|
# Causes excessive log output with Rails 5 RC1
|
@@ -23,6 +23,7 @@ module RailsSemanticLogger
|
|
23
23
|
template: from_rails_root(event.payload[:identifier])
|
24
24
|
}
|
25
25
|
payload[:within] = from_rails_root(event.payload[:layout]) if event.payload[:layout]
|
26
|
+
payload[:allocations] = event.allocations if event.respond_to?(:allocations)
|
26
27
|
|
27
28
|
logger.measure(
|
28
29
|
self.class.rendered_log_level,
|
@@ -40,6 +41,7 @@ module RailsSemanticLogger
|
|
40
41
|
}
|
41
42
|
payload[:within] = from_rails_root(event.payload[:layout]) if event.payload[:layout]
|
42
43
|
payload[:cache] = payload[:cache_hit] unless event.payload[:cache_hit].nil?
|
44
|
+
payload[:allocations] = event.allocations if event.respond_to?(:allocations)
|
43
45
|
|
44
46
|
logger.measure(
|
45
47
|
self.class.rendered_log_level,
|
@@ -59,6 +61,7 @@ module RailsSemanticLogger
|
|
59
61
|
count: event.payload[:count]
|
60
62
|
}
|
61
63
|
payload[:cache_hits] = payload[:cache_hits] if payload[:cache_hits]
|
64
|
+
payload[:allocations] = event.allocations if event.respond_to?(:allocations)
|
62
65
|
|
63
66
|
logger.measure(
|
64
67
|
self.class.rendered_log_level,
|
@@ -78,7 +78,11 @@ module RailsSemanticLogger
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def formatted_args
|
81
|
-
|
81
|
+
if defined?(job.class.log_arguments?) && !job.class.log_arguments?
|
82
|
+
""
|
83
|
+
else
|
84
|
+
JSON.pretty_generate(job.arguments.map { |arg| format(arg) })
|
85
|
+
end
|
82
86
|
end
|
83
87
|
|
84
88
|
def format(arg)
|
@@ -31,6 +31,7 @@ module RailsSemanticLogger
|
|
31
31
|
|
32
32
|
log_payload = {sql: payload[:sql]}
|
33
33
|
log_payload[:binds] = bind_values(payload) unless (payload[:binds] || []).empty?
|
34
|
+
log_payload[:allocations] = event.allocations if event.respond_to?(:allocations)
|
34
35
|
|
35
36
|
log = {
|
36
37
|
message: name,
|
@@ -52,7 +53,7 @@ module RailsSemanticLogger
|
|
52
53
|
|
53
54
|
# When multiple values are received for a single bound field, it is converted into an array
|
54
55
|
def add_bind_value(binds, key, value)
|
55
|
-
key = key.downcase.to_sym
|
56
|
+
key = key.downcase.to_sym unless key.nil?
|
56
57
|
value = (Array(binds[key]) << value) if binds.key?(key)
|
57
58
|
binds[key] = value
|
58
59
|
end
|
@@ -115,6 +116,16 @@ module RailsSemanticLogger
|
|
115
116
|
binds
|
116
117
|
end
|
117
118
|
|
119
|
+
def bind_values_v6_1(payload)
|
120
|
+
binds = {}
|
121
|
+
casted_params = type_casted_binds(payload[:type_casted_binds])
|
122
|
+
payload[:binds].each_with_index do |attr, i|
|
123
|
+
attr_name, value = render_bind(attr, casted_params[i])
|
124
|
+
add_bind_value(binds, attr_name, value)
|
125
|
+
end
|
126
|
+
binds
|
127
|
+
end
|
128
|
+
|
118
129
|
def render_bind_v4_2(column, value)
|
119
130
|
if column
|
120
131
|
if column.binary?
|
@@ -154,6 +165,21 @@ module RailsSemanticLogger
|
|
154
165
|
[attr&.name, value]
|
155
166
|
end
|
156
167
|
|
168
|
+
def render_bind_v6_1(attr, value)
|
169
|
+
case attr
|
170
|
+
when ActiveModel::Attribute
|
171
|
+
if attr.type.binary? && attr.value
|
172
|
+
value = "<#{attr.value_for_database.to_s.bytesize} bytes of binary data>"
|
173
|
+
end
|
174
|
+
when Array
|
175
|
+
attr = attr.first
|
176
|
+
else
|
177
|
+
attr = nil
|
178
|
+
end
|
179
|
+
|
180
|
+
[attr&.name, value]
|
181
|
+
end
|
182
|
+
|
157
183
|
def type_casted_binds_v5_0_3(binds, casted_binds)
|
158
184
|
casted_binds || ::ActiveRecord::Base.connection.type_casted_binds(binds)
|
159
185
|
end
|
@@ -171,6 +197,10 @@ module RailsSemanticLogger
|
|
171
197
|
alias bind_values bind_values_v5_0_3
|
172
198
|
alias render_bind render_bind_v5_0_3
|
173
199
|
alias type_casted_binds type_casted_binds_v5_0_3
|
200
|
+
elsif Rails::VERSION::MAJOR == 6 && Rails::VERSION::MINOR > 0 # ~> 6.1.0
|
201
|
+
alias bind_values bind_values_v6_1
|
202
|
+
alias render_bind render_bind_v6_1
|
203
|
+
alias type_casted_binds type_casted_binds_v5_1_5
|
174
204
|
elsif Rails::VERSION::MAJOR >= 5 # ~> 5.1.5 && ~> 5.0.7 && 6.x.x
|
175
205
|
alias bind_values bind_values_v5_1_5
|
176
206
|
alias render_bind render_bind_v5_0_3
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_semantic_logger
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Reid Morrison
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -98,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
98
98
|
- !ruby/object:Gem::Version
|
99
99
|
version: '0'
|
100
100
|
requirements: []
|
101
|
-
rubygems_version: 3.
|
101
|
+
rubygems_version: 3.2.3
|
102
102
|
signing_key:
|
103
103
|
specification_version: 4
|
104
104
|
summary: Feature rich logging framework that replaces the Rails logger.
|