mixlib-log 3.0.1 → 3.0.8

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