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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80613e919661165f768bd2a96b293c1908447e2cf936d7bf0f3b47e2338dec26
4
- data.tar.gz: a49dffa5584e4a326ca21b10cdb6a82f091caf23a49d18241db3225343193ef8
3
+ metadata.gz: b49edfb1dad9529b3a4776eacc2b35cdc02c4bf480b073dcc53e536c6f435cca
4
+ data.tar.gz: 7a1e3f489e363f0d95aec400b5d3d049fab01ab1f3d26f4a4c8b7392890ea1f3
5
5
  SHA512:
6
- metadata.gz: ddb0cc47d3f960a1e761ed9e6647a9f3048ef6a4ed85ddd46c4c21c1f78d4dd2975f3842172570fba2570f968a23107d1d28133c5cc0a82c171fcc8892fa16f3
7
- data.tar.gz: c54860b71c585ef469c9f425601e55d282cedaafde4860bcf0f46474bab9b5b7fe4f6cef460729c11de7af61636c9b099f6c7865f5ac336d8b6d3301a2444d69
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
- ### enable_filter_for_log_levels
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.enable_filter_for_log_levels = [0, 1, 2, 3, 4]
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
- :enable_filter_for_log_levels
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 enable_filter_for_log_levels.include?(log_level)
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
- :enable_filter_for_log_levels
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
- @enable_filter_for_log_levels = supported_log_levels.values
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 enable_filter_for_log_levels=(log_levels)
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
- @enable_filter_for_log_levels = log_levels
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
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Kiev
4
- VERSION = "4.8.0"
4
+ VERSION = "4.8.3"
5
5
  end
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.0
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-02-16 00:00:00.000000000 Z
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
- rubygems_version: 3.3.6
226
- signing_key:
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: []