contextual_logger 0.10.0.pre.1 → 0.10.0

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: 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: