opentrace 0.13.0 → 0.13.1

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: efabcbbf59438deda1b76fcaa0953218bd2ab1144388e0abd20cef1c77d42582
4
- data.tar.gz: 6df6eef94307d9ee5ab79869cd785abea16464dd7488fe7c52288a3f65f326a8
3
+ metadata.gz: 6132a6180cdc18e7ffafa371d0ba4c9f23a5e3c17b2afc6c19c6c1c2f7015bc0
4
+ data.tar.gz: 97fe45d85bcd77c8cd6978410de731dcb538f9354fa1bae48f87a29d838ded9c
5
5
  SHA512:
6
- metadata.gz: ac55ce5f272fea2dfa221b9a08283f0d70a534f09fe4119fece6a2e953231f863f346c95997f685f65f47ec4ffa9e48af7b5dba6445ca9e21d8ce162d980034a
7
- data.tar.gz: 927293c59438670c43b58a486355bb227b988bad34a3532b234d538fc871ec541d62279668c2c495eacfc54d1ef5a7eef1c778238d30906b19356020452e1f15
6
+ metadata.gz: 54449849d4fe5dca99520a2cf415f32eae87dc05dc2cf9d7d9bec57465aec624c1da52e73ffba5334aa53e03564eca53f965e138987753774e4593e931583db5
7
+ data.tar.gz: d7edd593347823fe9b7a52924cf8c105aa367abd942f041909ff63eb81784345a6142a5e3c8dd7b7fb7216bed63cff8a7dc4abda6b4232d80e00e8fdfb1007ab
@@ -45,6 +45,20 @@ module OpenTrace
45
45
  # no-op — nothing to close
46
46
  end
47
47
 
48
+ # ActiveSupport::TaggedLogging interface — BroadcastLogger delegates
49
+ # push_tags/pop_tags to ALL sinks. Without these, method_missing on
50
+ # older Rails versions forwards blindly and raises NoMethodError.
51
+ def push_tags(*); end
52
+ def pop_tags(*); end
53
+
54
+ def current_tags
55
+ []
56
+ end
57
+
58
+ def tagged(*tags)
59
+ yield self
60
+ end
61
+
48
62
  private
49
63
 
50
64
  def resolve_message(message, progname, &block)
@@ -12,6 +12,33 @@ module OpenTrace
12
12
  @original = original_formatter || ::Logger::Formatter.new
13
13
  end
14
14
 
15
+ # Delegate ActiveSupport::TaggedLogging::Formatter interface to the
16
+ # original formatter so that Rails::Rack::Logger#push_tags works when
17
+ # TraceFormatter replaces the logger's formatter.
18
+ def push_tags(*tags)
19
+ @original.push_tags(*tags) if @original.respond_to?(:push_tags)
20
+ end
21
+
22
+ def pop_tags(count = 1)
23
+ @original.pop_tags(count) if @original.respond_to?(:pop_tags)
24
+ end
25
+
26
+ def current_tags
27
+ if @original.respond_to?(:current_tags)
28
+ @original.current_tags
29
+ else
30
+ []
31
+ end
32
+ end
33
+
34
+ def tagged(*tags)
35
+ if @original.respond_to?(:tagged)
36
+ @original.tagged(*tags) { yield }
37
+ else
38
+ yield
39
+ end
40
+ end
41
+
15
42
  def call(severity, datetime, progname, msg)
16
43
  formatted = @original.call(severity, datetime, progname, msg)
17
44
  trace_prefix = build_trace_prefix
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenTrace
4
- VERSION = "0.13.0"
4
+ VERSION = "0.13.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.13.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTrace