minato_logger 0.5.0 → 0.5.2
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ae12d37ff687c3a12794e66161bc0989f52fc13dd47d7129f7ff45d50bf1283a
|
|
4
|
+
data.tar.gz: aa99d5be84564803b4cf84b91c40afec7b2eaa1e587f901452d939e015853d4d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6a7705a362eaab5eb09c9b458ecab47f79f46d07ea6f6c77e5e4cd0253f3649678e78b9f93e58bc22530462418ad496c249dc18e4002c88c07b1b8a257949e61
|
|
7
|
+
data.tar.gz: 324f3264fd3b156f08e04e993e58f6c080036ad620e5630d978cafc7ec63c28bad580ce1eeda4179b75197d5aa6d1566fb92e26f59d9442001c5a5cf6a083db4
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/lib/minato_logger/engine.rb
CHANGED
|
@@ -70,9 +70,15 @@ module MinatoLogger
|
|
|
70
70
|
|
|
71
71
|
def dispatch_request_event(request)
|
|
72
72
|
instrumenter = ActiveSupport::Notifications.instrumenter
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
payload = { request: request }
|
|
74
|
+
if instrumenter.respond_to?(:build_handle)
|
|
75
|
+
handle = instrumenter.build_handle('request.action_dispatch', payload)
|
|
76
|
+
handle.start
|
|
77
|
+
handle
|
|
78
|
+
else
|
|
79
|
+
instrumenter.start('request.action_dispatch', payload)
|
|
80
|
+
nil
|
|
81
|
+
end
|
|
76
82
|
end
|
|
77
83
|
|
|
78
84
|
def log_request(request, env, ctx)
|
|
@@ -128,11 +134,15 @@ module MinatoLogger
|
|
|
128
134
|
def safe_parse_json(body)
|
|
129
135
|
return nil if body.blank?
|
|
130
136
|
|
|
131
|
-
JSON.parse(body)
|
|
137
|
+
sensitive_body_filter.call(JSON.parse(body))
|
|
132
138
|
rescue JSON::ParserError
|
|
133
139
|
body.to_s
|
|
134
140
|
end
|
|
135
141
|
|
|
142
|
+
def sensitive_body_filter
|
|
143
|
+
@sensitive_body_filter ||= SensitiveBodyFilter.new
|
|
144
|
+
end
|
|
145
|
+
|
|
136
146
|
def extract_request_body(request)
|
|
137
147
|
return nil unless request.body
|
|
138
148
|
return '[Multipart Form Data / File Upload]' if request.content_type.to_s.include?('multipart/form-data')
|
|
@@ -188,6 +198,8 @@ module MinatoLogger
|
|
|
188
198
|
super
|
|
189
199
|
elsif handle
|
|
190
200
|
handle.finish
|
|
201
|
+
else
|
|
202
|
+
ActiveSupport::Notifications.instrumenter.finish('request.action_dispatch', {})
|
|
191
203
|
end
|
|
192
204
|
end
|
|
193
205
|
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module MinatoLogger
|
|
4
|
+
module Middlewares
|
|
5
|
+
class SensitiveBodyFilter
|
|
6
|
+
def initialize(filters = Rails.application.config.filter_parameters)
|
|
7
|
+
@parameter_filter = ActiveSupport::ParameterFilter.new(filters)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
def call(value)
|
|
11
|
+
case value
|
|
12
|
+
when Hash
|
|
13
|
+
@parameter_filter.filter(value)
|
|
14
|
+
when Array
|
|
15
|
+
value.map { |item| call(item) }
|
|
16
|
+
else
|
|
17
|
+
value
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: minato_logger
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ferreri
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-08-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -66,6 +66,7 @@ files:
|
|
|
66
66
|
- lib/minato_logger/middleware.rb
|
|
67
67
|
- lib/minato_logger/middlewares/request_context_enricher.rb
|
|
68
68
|
- lib/minato_logger/middlewares/request_response_logger.rb
|
|
69
|
+
- lib/minato_logger/middlewares/sensitive_body_filter.rb
|
|
69
70
|
- lib/minato_logger/version.rb
|
|
70
71
|
- minato_logger.gemspec
|
|
71
72
|
- sig/minato_logger.rbs
|