nexus_semantic_logger 1.7.0 → 1.7.2
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:
|
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
|