kiev 4.6.0 → 4.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kiev/base.rb +2 -2
- data/lib/kiev/logger.rb +10 -8
- data/lib/kiev/param_filter.rb +6 -0
- data/lib/kiev/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5da27510343d0217fedb4e4282cf9fc6468a63be4484935e2495e31205a2b188
|
4
|
+
data.tar.gz: 3a7ac16381946c418fa4265ab440da10397514766e5c091a87847f4451644251
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ee5e47a70aae2576a0d119c0347fa9707f8a1ff53e8db3f5c1b8ae0bcc39907fd755f1d6112eca317e3b22ce8e2bdb59e83f3e9b70b86014fae995a4377da466
|
7
|
+
data.tar.gz: d976cb714c3e9ca5a2f3aa9c0a505a78d38d4a1c77faddc408555dec2ff3f337dbc9430d881630165933084e2a5c88051ef6fbe530a2c79ebf2f24b64949a329
|
data/lib/kiev/base.rb
CHANGED
@@ -34,11 +34,11 @@ module Kiev
|
|
34
34
|
Config.instance.ignored_params
|
35
35
|
end
|
36
36
|
|
37
|
-
def event(
|
37
|
+
def event(log_name, data = EMPTY_OBJ)
|
38
38
|
logger.log(
|
39
39
|
::Logger::Severity::INFO,
|
40
40
|
ParamFilter.filter(data, filtered_params, ignored_params),
|
41
|
-
|
41
|
+
log_name
|
42
42
|
)
|
43
43
|
end
|
44
44
|
|
data/lib/kiev/logger.rb
CHANGED
@@ -12,17 +12,19 @@ module Kiev
|
|
12
12
|
extend Forwardable
|
13
13
|
def_delegators(*([:@logger] + ::Logger.instance_methods(false)))
|
14
14
|
|
15
|
-
|
15
|
+
DEFAULT_LOG_NAME = "log"
|
16
|
+
DEFAULT_MESSAGE = "log"
|
16
17
|
LOG_ERROR = "ERROR"
|
17
18
|
ERROR_STATUS = 500
|
18
19
|
|
19
|
-
FORMATTER = proc do |severity, time,
|
20
|
+
FORMATTER = proc do |severity, time, log_name, data|
|
20
21
|
entry =
|
21
22
|
{
|
22
23
|
application: Config.instance.app,
|
23
|
-
|
24
|
+
log_name: log_name || DEFAULT_LOG_NAME,
|
24
25
|
level: severity,
|
25
26
|
timestamp: time.utc,
|
27
|
+
message: log_name || DEFAULT_MESSAGE,
|
26
28
|
tracking_id: RequestStore.store[:tracking_id],
|
27
29
|
request_id: RequestStore.store[:request_id],
|
28
30
|
request_depth: RequestStore.store[:request_depth],
|
@@ -39,12 +41,12 @@ module Kiev
|
|
39
41
|
entry[:jid] = RequestStore.store[:jid]
|
40
42
|
end
|
41
43
|
|
42
|
-
if !RequestStore.store[:subrequest_count] && %i(request_finished job_finished).include?(
|
44
|
+
if !RequestStore.store[:subrequest_count] && %i(request_finished job_finished).include?(log_name)
|
43
45
|
entry[:tree_leaf] = true
|
44
46
|
end
|
45
47
|
|
46
48
|
if RequestStore.store[:payload]
|
47
|
-
if %i(request_finished job_finished).include?(
|
49
|
+
if %i(request_finished job_finished).include?(log_name)
|
48
50
|
entry.merge!(RequestStore.store[:payload])
|
49
51
|
else
|
50
52
|
Config.instance.persistent_log_fields.each do |field|
|
@@ -68,17 +70,17 @@ module Kiev
|
|
68
70
|
JSON.logstash(entry)
|
69
71
|
end
|
70
72
|
|
71
|
-
DEVELOPMENT_FORMATTER = proc do |severity, time,
|
73
|
+
DEVELOPMENT_FORMATTER = proc do |severity, time, log_name, data|
|
72
74
|
entry = []
|
73
75
|
|
74
76
|
entry << time.iso8601
|
75
|
-
entry << (
|
77
|
+
entry << (log_name || severity).upcase
|
76
78
|
|
77
79
|
if data.is_a?(String)
|
78
80
|
entry << "#{data}\n"
|
79
81
|
end
|
80
82
|
|
81
|
-
if %i(request_finished job_finished).include?(
|
83
|
+
if %i(request_finished job_finished).include?(log_name)
|
82
84
|
verb = RequestStore.store[:request_verb]
|
83
85
|
path = RequestStore.store[:request_path]
|
84
86
|
entry << "#{verb} #{path}" if verb && path
|
data/lib/kiev/param_filter.rb
CHANGED
@@ -14,6 +14,8 @@ module Kiev
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def call(params)
|
17
|
+
return params unless filterable?(params)
|
18
|
+
|
17
19
|
params.each_with_object({}) do |(key, value), acc|
|
18
20
|
next if ignored_params.include?(key.to_s)
|
19
21
|
|
@@ -40,6 +42,10 @@ module Kiev
|
|
40
42
|
|
41
43
|
attr_reader :filtered_params, :ignored_params
|
42
44
|
|
45
|
+
def filterable?(params)
|
46
|
+
params.respond_to?(:each_with_object)
|
47
|
+
end
|
48
|
+
|
43
49
|
def normalize(params)
|
44
50
|
Set.new(params.map(&:to_s))
|
45
51
|
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.
|
4
|
+
version: 4.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Blacklane
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-10-20 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,9 +222,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
222
222
|
- !ruby/object:Gem::Version
|
223
223
|
version: '0'
|
224
224
|
requirements: []
|
225
|
-
rubyforge_project:
|
225
|
+
rubyforge_project:
|
226
226
|
rubygems_version: 2.7.6
|
227
|
-
signing_key:
|
227
|
+
signing_key:
|
228
228
|
specification_version: 4
|
229
229
|
summary: Distributed logging to JSON integrated with various Ruby frameworks and tools
|
230
230
|
test_files: []
|