contextual_logger 0.10.0.pre.1 → 0.10.0

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: 802c31d7f8703a4105e7ff1b0cd53b2a692cc92d3a6a9d2760f6cd34e6445f93
4
- data.tar.gz: 847378acf2d1b5b9bdb2340a0d7e5712466eae68604c292e5138669333357fe5
3
+ metadata.gz: 2fe842aebc69d35423b8b06cb1c3dc270fc64d5541293c946dc8eb4f6bc274ed
4
+ data.tar.gz: b3591004af708bd8722c313c222bf85dc4452053d2d2deb7c8abda72a500391e
5
5
  SHA512:
6
- metadata.gz: e8ee88e23ea62d3a1a69d2b3ed194a5b85533a4abf6fd3c4ad228ba99e49abff064dfff7731135f77389f2b8b9ff99722b0485f2c74f1ab97986151f9de2a861
7
- data.tar.gz: af21224421af963cd2134114b136764eacfff5a76842feeb125f3e20aaf8c477f0869f4bc55613d3d94d39e17f54353078cb357fed813700d4d88dc6fc3ff207
6
+ metadata.gz: f79aa7e16d8b788b8b641fd8d62109f67c4e566ee4bb90a816fd9cf894729bc74354bcb01935ff6f15a3ed330bb0ea56629d9ad7cc24ef4d3cbe68fe8203270c
7
+ data.tar.gz: ec0406c0265718ee617a55f209e004805df6ce516d36a080680dda648e59ffd61ae48ebd654f1ced16db34c4bfcd83584002757b1abb8ce8fb6104582dca0307
@@ -87,9 +87,7 @@ module ContextualLogger
87
87
  if arg.nil?
88
88
  add(#{log_level}, nil, context, &block)
89
89
  elsif block
90
- add(#{log_level}, nil, context) do
91
- "\#{ContextualLogger.normalize_message(arg)}: \#{ContextualLogger.normalize_message(block.call)}"
92
- end
90
+ add(#{log_level}, nil, context.merge(progname: arg), &block)
93
91
  else
94
92
  add(#{log_level}, arg, context)
95
93
  end
@@ -102,13 +100,15 @@ module ContextualLogger
102
100
  severity >= level
103
101
  end
104
102
 
103
+ # Note that this interface needs to stay compatible with the underlying ::Logger#add interface,
104
+ # which is: def add(severity, message = nil, progname = nil)
105
105
  def add(arg_severity, arg1 = nil, arg2 = nil, **context) # Ruby will prefer to match hashes up to last ** argument
106
106
  severity = arg_severity || UNKNOWN
107
107
  if log_level_enabled?(severity)
108
108
  if arg1.nil?
109
109
  if block_given?
110
110
  message = yield
111
- progname = arg2 || @progname
111
+ progname = arg2 || context.delete(:progname) || @progname
112
112
  else
113
113
  message = arg2
114
114
  progname = @progname
@@ -138,22 +138,24 @@ module ContextualLogger
138
138
  end
139
139
 
140
140
  def format_message(severity, timestamp, progname, message, context: {})
141
+ normalized_message = ContextualLogger.normalize_message(message)
142
+ normalized_progname = ContextualLogger.normalize_message(progname) unless progname.nil?
141
143
  if @formatter
142
- @formatter.call(severity, timestamp, progname, { message: ContextualLogger.normalize_message(message) }.merge!(context))
144
+ @formatter.call(severity, timestamp, normalized_progname, { message: normalized_message }.merge!(context))
143
145
  else
144
- "#{basic_json_log_entry(severity, timestamp, progname, message, context: context)}\n"
146
+ "#{basic_json_log_entry(severity, timestamp, normalized_progname, normalized_message, context: context)}\n"
145
147
  end
146
148
  end
147
149
 
148
- def basic_json_log_entry(severity, timestamp, progname, message, context:)
150
+ def basic_json_log_entry(severity, timestamp, normalized_progname, normalized_message, context:)
149
151
  message_hash = {
150
- message: ContextualLogger.normalize_message(message),
152
+ message: normalized_progname ? "#{normalized_progname}: #{normalized_message}" : normalized_message,
151
153
  severity: severity,
152
154
  timestamp: timestamp
153
155
  }
154
- message_hash[:progname] = progname if progname
156
+ message_hash[:progname] = normalized_progname if normalized_progname
155
157
 
156
- # using merge! instead of merge for speed of operation
158
+ # merge! is faster and OK here since message_hash is still local only to this method
157
159
  message_hash.merge!(context).to_json
158
160
  end
159
161
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ContextualLogger
4
- VERSION = '0.10.0.pre.1'
4
+ VERSION = '0.10.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contextual_logger
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.pre.1
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Ebentier
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-28 00:00:00.000000000 Z
11
+ date: 2020-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -67,9 +67,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
67
67
  version: '0'
68
68
  required_rubygems_version: !ruby/object:Gem::Requirement
69
69
  requirements:
70
- - - ">"
70
+ - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: 1.3.1
72
+ version: '0'
73
73
  requirements: []
74
74
  rubygems_version: 3.0.3
75
75
  signing_key: