kiev 4.8.0 → 4.8.3
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 +4 -4
- data/README.md +3 -3
- data/lib/kiev/base.rb +2 -2
- data/lib/kiev/config.rb +8 -4
- data/lib/kiev/context_reader.rb +5 -1
- data/lib/kiev/request_body_filter.rb +3 -0
- data/lib/kiev/version.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b49edfb1dad9529b3a4776eacc2b35cdc02c4bf480b073dcc53e536c6f435cca
|
4
|
+
data.tar.gz: 7a1e3f489e363f0d95aec400b5d3d049fab01ab1f3d26f4a4c8b7392890ea1f3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b76c1993ac7c6c65cbfc6a4a80c77a3d43da5af596578d18f5653a2db08c3e6088fbc6bb187a80410f796119c2867c3d6014475bb577bd5fa829d662481b4226
|
7
|
+
data.tar.gz: 5ecf6e37e77bdeb1c1083284e91d066b01e0756218a2171b2f6f984ebd927e9ac367edbc47d4ad252fa65b2675bc8c88a05f7d33464a53ca11c12b212eab9a7a
|
data/README.md
CHANGED
@@ -454,13 +454,13 @@ Kiev.configure do |config|
|
|
454
454
|
end
|
455
455
|
```
|
456
456
|
|
457
|
-
###
|
458
|
-
You can specify for which log levels personal identifying information filter will be applied.
|
457
|
+
### disable_filter_for_log_levels
|
458
|
+
You can specify for which log levels personal identifying information filter will NOT be applied.
|
459
459
|
|
460
460
|
```ruby
|
461
461
|
Kiev.configure do |config|
|
462
462
|
# [DEBUG, INFO, WARN, ERROR, FATAL]
|
463
|
-
config.
|
463
|
+
config.disable_filter_for_log_levels = [0, 1, 2, 3, 4]
|
464
464
|
end
|
465
465
|
```
|
466
466
|
|
data/lib/kiev/base.rb
CHANGED
@@ -25,7 +25,7 @@ module Kiev
|
|
25
25
|
:filtered_params,
|
26
26
|
:ignored_params,
|
27
27
|
:log_level,
|
28
|
-
:
|
28
|
+
:disable_filter_for_log_levels
|
29
29
|
|
30
30
|
EMPTY_OBJ = {}.freeze
|
31
31
|
|
@@ -72,7 +72,7 @@ module Kiev
|
|
72
72
|
private
|
73
73
|
|
74
74
|
def logged_data(data)
|
75
|
-
return data unless
|
75
|
+
return data unless config.filter_enabled?
|
76
76
|
|
77
77
|
ParamFilter.filter(data, filtered_params, ignored_params)
|
78
78
|
end
|
data/lib/kiev/config.rb
CHANGED
@@ -104,7 +104,7 @@ module Kiev
|
|
104
104
|
:jobs_propagated_fields,
|
105
105
|
:all_http_propagated_fields, # for internal use
|
106
106
|
:all_jobs_propagated_fields, # for internal use
|
107
|
-
:
|
107
|
+
:disable_filter_for_log_levels
|
108
108
|
|
109
109
|
def initialize
|
110
110
|
@log_request_condition = DEFAULT_LOG_REQUEST_CONDITION
|
@@ -120,7 +120,7 @@ module Kiev
|
|
120
120
|
@log_level = default_log_level
|
121
121
|
@persistent_log_fields = []
|
122
122
|
@pre_rack_hook = DEFAULT_PRE_RACK_HOOK
|
123
|
-
@
|
123
|
+
@disable_filter_for_log_levels = []
|
124
124
|
self.propagated_fields = {}
|
125
125
|
update_logger_settings
|
126
126
|
end
|
@@ -157,10 +157,10 @@ module Kiev
|
|
157
157
|
update_logger_settings
|
158
158
|
end
|
159
159
|
|
160
|
-
def
|
160
|
+
def disable_filter_for_log_levels=(log_levels)
|
161
161
|
raise ArgumentError, "Unsupported log levels" unless array_with_log_levels?(log_levels)
|
162
162
|
|
163
|
-
@
|
163
|
+
@disable_filter_for_log_levels = log_levels
|
164
164
|
end
|
165
165
|
|
166
166
|
def development_mode=(value)
|
@@ -172,6 +172,10 @@ module Kiev
|
|
172
172
|
SUPPORTED_LOG_LEVELS
|
173
173
|
end
|
174
174
|
|
175
|
+
def filter_enabled?
|
176
|
+
!disable_filter_for_log_levels.include?(log_level)
|
177
|
+
end
|
178
|
+
|
175
179
|
private
|
176
180
|
|
177
181
|
def update_logger_settings
|
data/lib/kiev/context_reader.rb
CHANGED
@@ -19,7 +19,7 @@ module Kiev
|
|
19
19
|
end
|
20
20
|
|
21
21
|
def tracking_id
|
22
|
-
self[TRACKING_ID] || self[REQUEST_ID] || SecureRandom.uuid
|
22
|
+
presence(self[TRACKING_ID]) || presence(self[REQUEST_ID]) || SecureRandom.uuid
|
23
23
|
end
|
24
24
|
|
25
25
|
alias_method :request_id, :tracking_id
|
@@ -43,5 +43,9 @@ module Kiev
|
|
43
43
|
private
|
44
44
|
|
45
45
|
attr_reader :subject
|
46
|
+
|
47
|
+
def presence(value)
|
48
|
+
return value if value && !value.empty?
|
49
|
+
end
|
46
50
|
end
|
47
51
|
end
|
@@ -29,6 +29,9 @@ module Kiev
|
|
29
29
|
def self.filter(content_type, request_body, filtered_params, ignored_params)
|
30
30
|
body = request_body.read
|
31
31
|
request_body.rewind
|
32
|
+
|
33
|
+
return body unless Kiev.config.filter_enabled?
|
34
|
+
|
32
35
|
body_filter = for_content_type(content_type)
|
33
36
|
body_filter.call(body, filtered_params, ignored_params)
|
34
37
|
end
|
data/lib/kiev/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kiev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.8.
|
4
|
+
version: 4.8.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Blacklane
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-04-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: oga
|
@@ -124,7 +124,7 @@ description: Kiev is a logging tool aimed at distributed environments. It logs t
|
|
124
124
|
JSON, while providing human-readable output in development mode. It integrates nicely
|
125
125
|
with Rails, Sinatra and other Rack-based frameworks, Sidekiq, Que, HTTParty, Her
|
126
126
|
and other Faraday-based HTTP clients.
|
127
|
-
email:
|
127
|
+
email:
|
128
128
|
executables: []
|
129
129
|
extensions: []
|
130
130
|
extra_rdoc_files: []
|
@@ -207,7 +207,7 @@ homepage: https://github.com/blacklane/kiev
|
|
207
207
|
licenses:
|
208
208
|
- MIT
|
209
209
|
metadata: {}
|
210
|
-
post_install_message:
|
210
|
+
post_install_message:
|
211
211
|
rdoc_options: []
|
212
212
|
require_paths:
|
213
213
|
- lib
|
@@ -222,8 +222,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
222
|
- !ruby/object:Gem::Version
|
223
223
|
version: '0'
|
224
224
|
requirements: []
|
225
|
-
|
226
|
-
|
225
|
+
rubyforge_project:
|
226
|
+
rubygems_version: 2.7.6
|
227
|
+
signing_key:
|
227
228
|
specification_version: 4
|
228
229
|
summary: Distributed logging to JSON integrated with various Ruby frameworks and tools
|
229
230
|
test_files: []
|