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 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: []