semantic_logger_ecs_addon 0.1.11 → 0.1.15
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
- checksums.yaml.gz.sig +0 -0
- data/lib/rails_semantic_logger/sequel/log_subscriber.rb +7 -4
- data/lib/semantic_logger_ecs_addon/formatters/base.rb +9 -2
- data/lib/semantic_logger_ecs_addon/formatters/json.rb +12 -2
- data/lib/semantic_logger_ecs_addon/formatters/raw.rb +16 -2
- data/lib/semantic_logger_ecs_addon/identity.rb +1 -1
- data/lib/semantic_logger_ecs_addon/{sequel.rb → sequel_rails.rb} +0 -0
- data/lib/semantic_logger_ecs_addon.rb +5 -7
- data/lib/sequel/railties/controller_runtime.rb +1 -3
- data.tar.gz.sig +0 -0
- metadata +35 -34
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6de6d3610f967c99762b807469d81909758aa27eec64991281ddec0825acc6dd
|
4
|
+
data.tar.gz: fdf7ca5413e9f41a3b521a2321b8fbf258d222343155991532c0a7fff45e4edc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77df9bbedd9cf76463a41c521fc10bbd806064f958a77ed0fa54af5751cc47fcf0c5ba63b84ebd6d3008227b0f6e6f1af057c0626e96be36416a88e9cd718c30
|
7
|
+
data.tar.gz: 06caa6e1d16ab15c73e33d0d510a6d8299bec9d4ee502d261d8b3581a2574b1d2d6a55b66b8296b10db5e4d28c2d34530117137372793040fd38c54df3f96687
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "request_store_rails"
|
4
|
+
require "semantic_logger"
|
5
|
+
|
3
6
|
module RailsSemanticLogger
|
4
7
|
module Sequel
|
5
8
|
class LogSubscriber < ActiveSupport::LogSubscriber
|
@@ -9,20 +12,20 @@ module RailsSemanticLogger
|
|
9
12
|
|
10
13
|
def self.runtime= value
|
11
14
|
# ::ActiveRecord::RuntimeRegistry.sql_runtime = value
|
12
|
-
|
15
|
+
RequestLocals.store[:sql_runtime] = value
|
13
16
|
end
|
14
17
|
|
15
18
|
def self.runtime
|
16
19
|
# ::ActiveRecord::RuntimeRegistry.sql_runtime ||= 0
|
17
|
-
|
20
|
+
RequestLocals.fetch(:sql_runtime) { 0 }
|
18
21
|
end
|
19
22
|
|
20
23
|
def self.count= value
|
21
|
-
|
24
|
+
RequestLocals.store[:sql_count] = value
|
22
25
|
end
|
23
26
|
|
24
27
|
def self.count
|
25
|
-
|
28
|
+
RequestLocals.fetch(:sql_count) { 0 }
|
26
29
|
end
|
27
30
|
|
28
31
|
def self.reset_runtime
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "semantic_logger/formatters/base"
|
4
|
+
require "semantic_logger_ecs_addon/utils/hash"
|
4
5
|
|
5
6
|
module SemanticLoggerEcsAddon
|
6
7
|
module Formatters
|
@@ -164,7 +165,7 @@ module SemanticLoggerEcsAddon
|
|
164
165
|
end
|
165
166
|
|
166
167
|
def format_payload
|
167
|
-
if log.payload.respond_to?(:empty?) && !log.payload.empty?
|
168
|
+
if log.payload.respond_to?(:empty?) && !log.payload.empty? && log.payload.respond_to?(:has_key?)
|
168
169
|
self.formatted_payload = Utils::Hash[**log.payload]
|
169
170
|
|
170
171
|
rack_extract
|
@@ -176,11 +177,17 @@ module SemanticLoggerEcsAddon
|
|
176
177
|
def request
|
177
178
|
hash[:"http.request.id"] = formatted_payload.dig :request, :request_id
|
178
179
|
hash[:"http.request.body.content"] = formatted_payload.dig :request, :body
|
180
|
+
if hash[:"http.request.body.content"].respond_to?(:to_json)
|
181
|
+
hash[:"http.request.body.content"] = hash[:"http.request.body.content"].to_json
|
182
|
+
end
|
179
183
|
hash[:"http.request.method"] = formatted_payload.dig :request, :method
|
180
184
|
end
|
181
185
|
|
182
186
|
def response
|
183
187
|
hash[:"http.response.body.content"] = formatted_payload.dig :response, :body
|
188
|
+
if hash[:"http.response.body.content"].respond_to?(:to_json)
|
189
|
+
hash[:"http.response.body.content"] = hash[:"http.response.body.content"].to_json
|
190
|
+
end
|
184
191
|
hash[:"http.response.status_code"] = formatted_payload.dig :response, :status
|
185
192
|
end
|
186
193
|
|
@@ -203,7 +210,7 @@ module SemanticLoggerEcsAddon
|
|
203
210
|
def apm_agent_present_and_running?
|
204
211
|
return false unless defined?(::ElasticAPM)
|
205
212
|
|
206
|
-
ElasticAPM.running?
|
213
|
+
::ElasticAPM.running?
|
207
214
|
end
|
208
215
|
end
|
209
216
|
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "
|
3
|
+
require "oj"
|
4
|
+
require "semantic_logger_ecs_addon/formatters/raw"
|
4
5
|
|
5
6
|
module SemanticLoggerEcsAddon
|
6
7
|
module Formatters
|
@@ -12,7 +13,16 @@ module SemanticLoggerEcsAddon
|
|
12
13
|
|
13
14
|
# Returns log messages in JSON format
|
14
15
|
def call log, logger
|
15
|
-
super(log, logger)
|
16
|
+
Oj.dump(super(log, logger), nilnil: true, escape_mode: :json, mode: :rails)
|
17
|
+
rescue SystemStackError => _error
|
18
|
+
Oj.dump(
|
19
|
+
super(log, logger).transform_keys do |key|
|
20
|
+
key.to_s
|
21
|
+
end,
|
22
|
+
nilnil: true,
|
23
|
+
escape_mode: :json,
|
24
|
+
mode: :object
|
25
|
+
)
|
16
26
|
end
|
17
27
|
end
|
18
28
|
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require "semantic_logger_ecs_addon/formatters/base"
|
4
|
+
|
3
5
|
module SemanticLoggerEcsAddon
|
4
6
|
module Formatters
|
5
7
|
class Raw < Base
|
@@ -29,6 +31,8 @@ module SemanticLoggerEcsAddon
|
|
29
31
|
root = root[:"error.cause"]
|
30
32
|
end
|
31
33
|
end
|
34
|
+
rescue SystemStackError => _error
|
35
|
+
root.merge! exception_hash exception
|
32
36
|
end
|
33
37
|
|
34
38
|
def event
|
@@ -81,10 +85,20 @@ module SemanticLoggerEcsAddon
|
|
81
85
|
hash[:"user.domain"] = formatted_payload.dig :user, :type
|
82
86
|
end
|
83
87
|
|
88
|
+
def safe_jsonify hash
|
89
|
+
hash.each do |k, v|
|
90
|
+
hash[k] = v.respond_to?(:to_json) ? v.to_json : v.inspect
|
91
|
+
rescue SystemStackError => _error
|
92
|
+
hash[k] = v.inspect
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
84
96
|
def extras
|
85
|
-
|
97
|
+
unless formatted_payload.respond_to?(:empty?) && !formatted_payload.empty? && formatted_payload.respond_to?(:has_key?)
|
98
|
+
return
|
99
|
+
end
|
86
100
|
|
87
|
-
hash.merge!
|
101
|
+
hash.merge!(safe_jsonify(formatted_payload.except(:request, :response, :user)))
|
88
102
|
end
|
89
103
|
|
90
104
|
# Returns log messages in Hash format
|
@@ -5,7 +5,7 @@ module SemanticLoggerEcsAddon
|
|
5
5
|
module Identity
|
6
6
|
NAME = "semantic_logger_ecs_addon"
|
7
7
|
LABEL = "Semantic Logger Ecs Addon"
|
8
|
-
VERSION = "0.1.
|
8
|
+
VERSION = "0.1.15"
|
9
9
|
VERSION_LABEL = "#{LABEL} #{VERSION}"
|
10
10
|
SUMMARY = "A semantic logger formatter that formats the logs according to Elastic Common Schema, adds APM trace data if ElasticAPM is enabled and instruments sequel logs for rails if available."
|
11
11
|
end
|
File without changes
|
@@ -1,13 +1,11 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "pathname"
|
4
|
-
require "
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
loader.ignore "#{__dir__}/semantic_logger_ecs_addon/sequel.rb"
|
10
|
-
loader.setup
|
4
|
+
require "semantic_logger_ecs_addon/utils/backtrace_cleaner"
|
5
|
+
require "semantic_logger_ecs_addon/utils/hash"
|
6
|
+
require "semantic_logger_ecs_addon/formatters/base"
|
7
|
+
require "semantic_logger_ecs_addon/formatters/json"
|
8
|
+
require "semantic_logger_ecs_addon/formatters/raw"
|
11
9
|
|
12
10
|
# Main namespace.
|
13
11
|
module SemanticLoggerEcsAddon
|
@@ -1,9 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require "active_support/core_ext/module/attr_internal"
|
4
|
-
|
5
|
-
require_relative "../../rails_semantic_logger/sequel/log_subscriber"
|
6
|
-
end
|
4
|
+
require "rails_semantic_logger/sequel/log_subscriber"
|
7
5
|
|
8
6
|
module Sequel
|
9
7
|
module Railties
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: semantic_logger_ecs_addon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.15
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sajeev Ramasamy
|
@@ -11,73 +11,73 @@ cert_chain:
|
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
13
|
MIIERDCCAqygAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBt0aG9y
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
14
|
+
aW9uMzAwNi9EQz1nbWFpbC9EQz1jb20wHhcNMjExMjI3MTM0MjUwWhcNMjIxMjI3
|
15
|
+
MTM0MjUwWjAmMSQwIgYDVQQDDBt0aG9yaW9uMzAwNi9EQz1nbWFpbC9EQz1jb20w
|
16
|
+
ggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDeX3rgR2zbho9dxRC2QDMz
|
17
|
+
l3YDVoyyr6odDSzXge6jzbEPfV3/pWkieL7CogpK1r84SvrKMmFlslwfhSpOLxDe
|
18
|
+
Ct0/GA2IUIgB5q3iyXMU+GMGPTt6Jbe7Nih9Wak0c2qVZEkzQ91Ytz6zxQYH4GHf
|
19
|
+
pl14CZ3HZLb/pOL6YbRCj7y3ii3FBM0PpzkysGn6UkfvJPJF7RyLdUDER+tvM5D1
|
20
|
+
/1a9wiBO/UBDJ8+fHdE+zXIizP7XqIGEyiGB1cjNX0OYir9iJf7jEA0NWnJA6JS9
|
21
|
+
2PHv6ikBoE8/8clQSxnrQlD/mtWWSYtNRJ0TbtjEjv3QwdwTPsic+a8lT94FWHFg
|
22
|
+
tl3bPYKbrFhueAsHCsppHW8FS8hFFCYb64Iy6hTIgZ5pZF850vEBygq6kiYWHyDh
|
23
|
+
5QBrJ6QWiVoAF53rLVrVWUqNM7llx014T20SC5xHtZLnUSW0fFLgTpzrBOIMU/bM
|
24
|
+
iLl1IKFClUE3rBvhdT+0HLSHe4a3RQh1sx8/ifuvEJUCAwEAAaN9MHswCQYDVR0T
|
25
|
+
BAIwADALBgNVHQ8EBAMCBLAwHQYDVR0OBBYEFEu6GRQxnNJ7xDgCKtb58to+lm+6
|
26
26
|
MCAGA1UdEQQZMBeBFXRob3Jpb24zMDA2QGdtYWlsLmNvbTAgBgNVHRIEGTAXgRV0
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
27
|
+
aG9yaW9uMzAwNkBnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggGBANEGgdbZAeSN
|
28
|
+
6NzJb0qO8Z/cd0QoPVjV5Bws9KUJHBrk8ldQWbk6vwrLxvYQgo5J8MTm80mqedfI
|
29
|
+
nuFWKBHXEUkzQc3zgRTXDnc6PwviSza/b/uh99Jra67GiTGiTB9XVNg+Wm1QX+SZ
|
30
|
+
I1LKIZNnySWiGKFCr3iPXw6Oj90G+vIjXpQ9lCAV/1FeKsxyuqURUD9ZDlhVyp32
|
31
|
+
agCjJz/VzVFo87BW8MYB1UlMJo5B9HKGG7jipzKlrfm683DYEwx/EnML/w7Lgryx
|
32
|
+
/u37RDsXpnnVpSaDaxL1HHMkuzxiMUGtYQk5KnJ21yRFn0ZAhavACArJj0/6zFdI
|
33
|
+
eomelpV08j/RaaK4j0w7TPHtB9zfLc4LG9AeGN/K97pZ2P5qteoezyhb4sdKulT+
|
34
|
+
KosCvruZx0i+xfBhrTh6f5uQ4T57DUvWiUcdHqv98HqAqyyiPuSiI46/yQgU/4D+
|
35
|
+
ApIuwzlhHr30wJqOI8K003+GUsnMkf/7aBmCfedz5dC1EF+2J2SCdg==
|
36
36
|
-----END CERTIFICATE-----
|
37
|
-
date:
|
37
|
+
date: 2022-01-19 00:00:00.000000000 Z
|
38
38
|
dependencies:
|
39
39
|
- !ruby/object:Gem::Dependency
|
40
|
-
name:
|
40
|
+
name: oj
|
41
41
|
requirement: !ruby/object:Gem::Requirement
|
42
42
|
requirements:
|
43
43
|
- - "~>"
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version: '
|
45
|
+
version: '3.13'
|
46
46
|
type: :runtime
|
47
47
|
prerelease: false
|
48
48
|
version_requirements: !ruby/object:Gem::Requirement
|
49
49
|
requirements:
|
50
50
|
- - "~>"
|
51
51
|
- !ruby/object:Gem::Version
|
52
|
-
version: '
|
52
|
+
version: '3.13'
|
53
53
|
- !ruby/object:Gem::Dependency
|
54
|
-
name:
|
54
|
+
name: request_store_rails
|
55
55
|
requirement: !ruby/object:Gem::Requirement
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '
|
59
|
+
version: '2.0'
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '
|
66
|
+
version: '2.0'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
|
-
name:
|
68
|
+
name: semantic_logger
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
70
70
|
requirements:
|
71
71
|
- - "~>"
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: '
|
73
|
+
version: '4.4'
|
74
74
|
type: :runtime
|
75
75
|
prerelease: false
|
76
76
|
version_requirements: !ruby/object:Gem::Requirement
|
77
77
|
requirements:
|
78
78
|
- - "~>"
|
79
79
|
- !ruby/object:Gem::Version
|
80
|
-
version: '
|
80
|
+
version: '4.4'
|
81
81
|
description:
|
82
82
|
email:
|
83
83
|
- thorion3006@gmail.com
|
@@ -95,7 +95,7 @@ files:
|
|
95
95
|
- lib/semantic_logger_ecs_addon/formatters/json.rb
|
96
96
|
- lib/semantic_logger_ecs_addon/formatters/raw.rb
|
97
97
|
- lib/semantic_logger_ecs_addon/identity.rb
|
98
|
-
- lib/semantic_logger_ecs_addon/
|
98
|
+
- lib/semantic_logger_ecs_addon/sequel_rails.rb
|
99
99
|
- lib/semantic_logger_ecs_addon/utils/backtrace_cleaner.rb
|
100
100
|
- lib/semantic_logger_ecs_addon/utils/hash.rb
|
101
101
|
- lib/sequel/database.rb
|
@@ -108,6 +108,7 @@ metadata:
|
|
108
108
|
changelog_uri: https://github.com/thorion3006/semantic_logger_ecs_addon/blob/master/CHANGES.md
|
109
109
|
documentation_uri: https://github.com/thorion3006/semantic_logger_ecs_addon
|
110
110
|
source_code_uri: https://github.com/thorion3006/semantic_logger_ecs_addon
|
111
|
+
rubygems_mfa_required: 'true'
|
111
112
|
post_install_message:
|
112
113
|
rdoc_options: []
|
113
114
|
require_paths:
|
@@ -126,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
127
|
- !ruby/object:Gem::Version
|
127
128
|
version: '0'
|
128
129
|
requirements: []
|
129
|
-
rubygems_version: 3.2.
|
130
|
+
rubygems_version: 3.2.32
|
130
131
|
signing_key:
|
131
132
|
specification_version: 4
|
132
133
|
summary: A semantic logger formatter that formats the logs according to Elastic Common
|
metadata.gz.sig
CHANGED
Binary file
|