nexus_semantic_logger 1.7.0 → 1.7.2
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:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 826285386a51e1104bebf139598b213525752499b53d42e76edad8b6bc635db3
|
|
4
|
+
data.tar.gz: c761ecf11144f16044a0d3ff37438be3f6153bcc1d2ad6df258d5b6dec57e112
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e4cb33cfd5f4db4328b96d87188064bcd24e8a396cde803b9d4a162aa94fab6d9a94e7dd98604c1672074ff1d4c4facc8ea6c8e0a2acc7b1dce6ad2cabe9a051
|
|
7
|
+
data.tar.gz: d1bd71f0c63c7d02b6b6242e274d6a9e61d8bbafc05b3b9fbb0362698678ac037318a179a43d8984c28686a3f8ace49a1479a5685417e156ac69b0b2f5312582
|
|
@@ -39,6 +39,10 @@ module NexusSemanticLogger
|
|
|
39
39
|
NexusSemanticLogger::DatadogTracer.new(service)
|
|
40
40
|
|
|
41
41
|
logger.info('SemanticLogger initialised.', level: config.log_level)
|
|
42
|
+
|
|
43
|
+
config.after_initialize do
|
|
44
|
+
require("nexus_semantic_logger/extensions/action_dispatch/debug_exceptions") if defined?(::ActionDispatch::DebugExceptions)
|
|
45
|
+
end
|
|
42
46
|
end
|
|
43
47
|
|
|
44
48
|
def self.development(config)
|
|
@@ -32,6 +32,24 @@ module NexusSemanticLogger
|
|
|
32
32
|
if named_tags.is_a?(Hash)
|
|
33
33
|
hash.deep_merge!(named_tags)
|
|
34
34
|
end
|
|
35
|
+
hash_to_json(hash)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Serialise hash to json while ensuring we don't abort due to an infinite loop.
|
|
39
|
+
# SystemStackError while serialising indicates an infinite loop- determine which key is affected.
|
|
40
|
+
def hash_to_json(hash)
|
|
41
|
+
hash.to_json
|
|
42
|
+
rescue SystemStackError
|
|
43
|
+
as_json_serialise_errors = []
|
|
44
|
+
hash.keys.each do |key|
|
|
45
|
+
begin
|
|
46
|
+
hash[key].as_json
|
|
47
|
+
rescue SystemStackError
|
|
48
|
+
hash.delete(key)
|
|
49
|
+
as_json_serialise_errors << key
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
hash[:as_json_serialise_errors] = as_json_serialise_errors
|
|
35
53
|
hash.to_json
|
|
36
54
|
end
|
|
37
55
|
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Log actual exceptions, not a string representation
|
|
2
|
+
require "action_dispatch"
|
|
3
|
+
|
|
4
|
+
module ActionDispatch
|
|
5
|
+
# Fork of the rails_semantic_logger DebugExceptions to fix its removal of the upstream 'log_rescued_responses' check.
|
|
6
|
+
# This allows applications to use the 'config.action_dispatch.log_rescued_responses' setting.
|
|
7
|
+
class DebugExceptions
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
undef_method :log_error
|
|
11
|
+
|
|
12
|
+
def log_error(request, wrapper)
|
|
13
|
+
return if !log_rescued_responses?(request) && wrapper.rescue_response?
|
|
14
|
+
|
|
15
|
+
ActiveSupport::Deprecation.silence do
|
|
16
|
+
ActionController::Base.logger.fatal(wrapper.exception)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
module NexusSemanticLogger
|
|
3
|
-
# Leave this as 1.7.
|
|
4
|
-
VERSION = '1.7.
|
|
3
|
+
# Leave this as 1.7.2 in order for CI process to replace with the tagged version.
|
|
4
|
+
VERSION = '1.7.2'
|
|
5
5
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nexus_semantic_logger
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.7.
|
|
4
|
+
version: 1.7.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Johnathon Harris
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-11-
|
|
11
|
+
date: 2022-11-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: amazing_print
|
|
@@ -111,6 +111,7 @@ files:
|
|
|
111
111
|
- lib/nexus_semantic_logger/datadog_formatter.rb
|
|
112
112
|
- lib/nexus_semantic_logger/datadog_singleton.rb
|
|
113
113
|
- lib/nexus_semantic_logger/datadog_tracer.rb
|
|
114
|
+
- lib/nexus_semantic_logger/extensions/action_dispatch/debug_exceptions.rb
|
|
114
115
|
- lib/nexus_semantic_logger/sneakers_metrics.rb
|
|
115
116
|
- lib/nexus_semantic_logger/version.rb
|
|
116
117
|
- nexus_semantic_logger.gemspec
|