mixlib-log 3.0.1 → 3.0.8

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: 12e1f4cc08cad66547c7444d11e2f01e2513d840b454757a9c8dc2ef4ef6a717
4
- data.tar.gz: ad633e7fcc38007438b75470a9b3eb04ef6ae28bba98a9a8beec2d7fa6c5f97c
3
+ metadata.gz: 95774ad5586c72101fe71dde872dc0f88c01de6d9ddffb152b3015694e76b397
4
+ data.tar.gz: ed308a5b638fb1e78389c868e58c0a41385e6f2dd78c20f92e9b1e1c2f3bf351
5
5
  SHA512:
6
- metadata.gz: '0792fef35109d52062fdde317bb13accbc29f9ecce87becfeded849f3fa5f2de620534e02184d3ca9c4f546f2423efe6bcf371d74b452a542f348f6aab57bb34'
7
- data.tar.gz: c64a3941e41f7e821740b14decb32604b4f30a0e9c024e36d6f13b22eedde444116c5315feba3c1e714442e48d9cae30222a6b3ddba54fd60748351ecd6ca3f2
6
+ metadata.gz: a28f3d2af4a0c823cad7f648fdd9f16d58f16e6ad65b7f2e154c2db904ff4bd7494444c6a6c04115b08463f463f0d589fd874eea0457d591b085e2b914319a4b
7
+ data.tar.gz: 1a92978027ba1bc10acbb74b5959a21f27d1c4918e85e29b893084bea4a3676cb83e3788ec10d85a3cba33fe1d5f1080acdcd3067acfac0c30b7fab896104121
data/lib/mixlib/log.rb CHANGED
@@ -17,26 +17,27 @@
17
17
  # limitations under the License.
18
18
 
19
19
  require "logger"
20
- require "mixlib/log/version"
21
- require "mixlib/log/formatter"
22
- require "mixlib/log/child"
23
- require "mixlib/log/logging"
24
- require "mixlib/log/logger"
20
+ require_relative "log/version"
21
+ require_relative "log/formatter"
22
+ require_relative "log/child"
23
+ require_relative "log/logging"
24
+ require_relative "log/logger"
25
25
 
26
26
  module Mixlib
27
27
  module Log
28
28
 
29
29
  include Logging
30
- @logger, @loggers = nil
31
30
 
32
31
  def reset!
32
+ @logger ||= nil
33
+ @loggers ||= []
33
34
  close!
34
- @logger, @loggers = nil, nil
35
+ @logger = @loggers = nil
35
36
  @metadata = {}
36
37
  end
37
38
 
38
39
  # An Array of log devices that will be logged to. Defaults to just the default
39
- # @logger log device, but you can push to this array to add more devices.
40
+ # \@logger log device, but you can push to this array to add more devices.
40
41
  def loggers
41
42
  @loggers ||= [logger]
42
43
  end
@@ -46,7 +47,7 @@ module Mixlib
46
47
  # and creates a new one if it doesn't yet exist
47
48
  ##
48
49
  def logger
49
- @logger || init
50
+ @logger ||= init
50
51
  end
51
52
 
52
53
  # Sets the log device to +new_log_device+. Any additional loggers
@@ -60,7 +61,7 @@ module Mixlib
60
61
  if other.respond_to?(:loggers) && other.respond_to?(:logger)
61
62
  @loggers = other.loggers
62
63
  @logger = other.logger
63
- elsif other.kind_of?(Array)
64
+ elsif other.is_a?(Array)
64
65
  @loggers = other
65
66
  @logger = other.first
66
67
  else
@@ -81,7 +82,7 @@ module Mixlib
81
82
  def init(*opts)
82
83
  reset!
83
84
  @logger = logger_for(*opts)
84
- @logger.formatter = Mixlib::Log::Formatter.new() if @logger.respond_to?(:formatter=)
85
+ @logger.formatter = Mixlib::Log::Formatter.new if @logger.respond_to?(:formatter=)
85
86
  @logger.level = Logger::WARN
86
87
  @configured = true
87
88
  @parent = nil
@@ -109,6 +110,7 @@ module Mixlib
109
110
  def level=(new_level)
110
111
  level_int = LEVEL_NAMES.key?(new_level) ? new_level : LEVELS[new_level]
111
112
  raise ArgumentError, "Log level must be one of :trace, :debug, :info, :warn, :error, or :fatal" if level_int.nil?
113
+
112
114
  loggers.each { |l| l.level = level_int }
113
115
  end
114
116
 
@@ -124,7 +126,7 @@ module Mixlib
124
126
  # Note that we *only* query the default logger (@logger) and not any other
125
127
  # loggers that may have been added, even though it is possible to configure
126
128
  # two (or more) loggers at different log levels.
127
- [:trace?, :debug?, :info?, :warn?, :error?, :fatal?].each do |method_name|
129
+ %i{trace? debug? info? warn? error? fatal?}.each do |method_name|
128
130
  define_method(method_name) do
129
131
  logger.send(method_name)
130
132
  end
@@ -136,7 +138,7 @@ module Mixlib
136
138
 
137
139
  def add(severity, message = nil, progname = nil, data: {}, &block)
138
140
  message, progname, data = yield if block_given?
139
- data = metadata.merge(data) if metadata.kind_of?(Hash) && data.kind_of?(Hash)
141
+ data = metadata.merge(data) if metadata.is_a?(Hash) && data.is_a?(Hash)
140
142
  loggers.each do |l|
141
143
  # if we don't have any metadata, let's not do the potentially expensive
142
144
  # merging and managing that this call requires
@@ -170,7 +172,7 @@ module Mixlib
170
172
 
171
173
  def logger_for(*opts)
172
174
  if opts.empty?
173
- Mixlib::Log::Logger.new(STDOUT)
175
+ Mixlib::Log::Logger.new($stdout)
174
176
  elsif LEVELS.keys.inject(true) { |quacks, level| quacks && opts.first.respond_to?(level) }
175
177
  opts.first
176
178
  else
@@ -190,7 +192,9 @@ module Mixlib
190
192
  # via public API. In order to reduce amount of impact and
191
193
  # handle only File type log devices I had to use this method
192
194
  # to get access to it.
195
+ next unless logger.instance_variable_defined?(:"@logdev")
193
196
  next unless (logdev = logger.instance_variable_get(:"@logdev"))
197
+
194
198
  loggers_to_close << logger if logdev.filename
195
199
  end
196
200
  loggers_to_close
@@ -14,7 +14,7 @@
14
14
  # See the License for the specific language governing permissions and
15
15
  # limitations under the License.
16
16
 
17
- require "mixlib/log/logging"
17
+ require_relative "logging"
18
18
 
19
19
  module Mixlib
20
20
  module Log
@@ -36,14 +36,14 @@ module Mixlib
36
36
  # Note that we *only* query the default logger (@logger) and not any other
37
37
  # loggers that may have been added, even though it is possible to configure
38
38
  # two (or more) loggers at different log levels.
39
- [:trace?, :debug?, :info?, :warn?, :error?, :fatal?].each do |method_name|
39
+ %i{trace? debug? info? warn? error? fatal?}.each do |method_name|
40
40
  define_method(method_name) do
41
41
  parent.send(method_name)
42
42
  end
43
43
  end
44
44
 
45
45
  def add(severity, message = nil, progname = nil, data: {}, &block)
46
- data = metadata.merge(data) if data.kind_of?(Hash)
46
+ data = metadata.merge(data) if data.is_a?(Hash)
47
47
  parent.send(:pass, severity, message, progname, data: data, &block)
48
48
  end
49
49
 
@@ -31,7 +31,7 @@ module Mixlib
31
31
  # Otherwise, doesn't print the time.
32
32
  def call(severity, time, progname, msg)
33
33
  if @@show_time
34
- sprintf("[%s] %s: %s\n", time.iso8601(), severity, msg2str(msg))
34
+ sprintf("[%s] %s: %s\n", time.iso8601, severity, msg2str(msg))
35
35
  else
36
36
  sprintf("%s: %s\n", severity, msg2str(msg))
37
37
  end
@@ -1,5 +1,5 @@
1
1
  require "logger"
2
- require "mixlib/log/logging"
2
+ require_relative "logging"
3
3
 
4
4
  # A subclass of Ruby's stdlib Logger with all the mutex and logrotation stuff
5
5
  # ripped out, and metadata added in.
@@ -21,7 +21,7 @@ module Mixlib
21
21
  #
22
22
  # +logdev+::
23
23
  # The log device. This is a filename (String) or IO object (typically
24
- # +STDOUT+, +STDERR+, or an open file).
24
+ # +$stdout+, +$stderr+, or an open file).
25
25
  # +shift_age+::
26
26
  # Number of old log files to keep, *or* frequency of rotation (+daily+,
27
27
  # +weekly+ or +monthly+).
@@ -45,14 +45,16 @@ module Mixlib
45
45
 
46
46
  def add_data(severity, message, progname, data: {})
47
47
  return true if @logdev.nil? || severity < @level
48
+
48
49
  data ||= {}
49
- if message.kind_of?(::Exception)
50
+ if message.is_a?(::Exception)
50
51
  data[:err] = message
51
52
  else
52
53
  data[:msg] = message
53
54
  end
54
55
  @logdev.write(
55
- format_message(to_label(severity), Time.now, progname, data))
56
+ format_message(to_label(severity), Time.now, progname, data)
57
+ )
56
58
  true
57
59
  end
58
60
  alias_method :add, :add_data
@@ -41,7 +41,7 @@ module Mixlib
41
41
 
42
42
  # Define the standard logger methods on this class programmatically.
43
43
  # No need to incur method_missing overhead on every log call.
44
- [:trace, :debug, :info, :warn, :error, :fatal].each do |method_name|
44
+ %i{trace debug info warn error fatal}.each do |method_name|
45
45
  level = LEVELS[method_name]
46
46
  define_method(method_name) do |msg = nil, data: {}, &block|
47
47
  pass(level, msg, data: data, &block)
@@ -1,5 +1,5 @@
1
1
  module Mixlib
2
2
  module Log
3
- VERSION = "3.0.1".freeze
3
+ VERSION = "3.0.8".freeze
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixlib-log
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chef Software, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-01-04 00:00:00.000000000 Z
11
+ date: 2019-12-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: info@chef.io
@@ -42,8 +42,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
44
  requirements: []
45
- rubyforge_project:
46
- rubygems_version: 2.7.6
45
+ rubygems_version: 3.0.3
47
46
  signing_key:
48
47
  specification_version: 4
49
48
  summary: A gem that provides a simple mixin for log functionality