kiev 4.8.0 → 4.8.3
Sign up to get free protection for your applications and to get access to all the features.
- 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: []
|