dldinternet-mixlib-logging 0.4.0 → 0.4.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 +8 -8
- data/lib/dldinternet/mixlib/logging.rb +140 -139
- data/lib/dldinternet/mixlib/logging/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
YjRkYTJmNGJiMmNhYzlhNDAxMTk0Mzc1MjkyMzY0NjBjZTJkYTFmMw==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
NDg3NDQ2MWU3ZGNkMTBiZjA4ZGQwNzYyYTgxMDBhNTFlMTBkNzA0Zg==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
OWFkN2UzYWY1MWNhMTExZWI3YjlmMDU2NWVhMzMzZGVhNTBkMjI4YzA5YThj
|
|
10
|
+
MmUzNjBkYTZmYjdmMzExZWQ5NjFlNGU2NjI1MGNjZWNhMjE2MjI2MzhiYWQ0
|
|
11
|
+
YzYxMDJkOWYxYzUzZTVhNTZiMjUwMzVjZjUyYzdkZDZiODg1ODM=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
Mzg2NWI2ODU2YmZjMzc3MGRiMTk3YTY4NmYxYjIwZTRkMzY0YzRkYzkzMjMw
|
|
14
|
+
ZTY3OTNjNDg5NTkzNmRmNDVhNDk4MjE3NDg3ZDZmNTA4YWQxOTA5MmU4MmZi
|
|
15
|
+
NWU1MjcyNWMyMjE1Y2Q5NWEyYzM1ODE3MGY5ZTdiYTNhYWQ0ZWE=
|
|
@@ -6,9 +6,10 @@ unless defined? ::DLDInternet::Mixlib::Logging::ClassMethods
|
|
|
6
6
|
module Mixlib
|
|
7
7
|
module Logging
|
|
8
8
|
|
|
9
|
-
require
|
|
9
|
+
require 'rubygems'
|
|
10
10
|
require 'rubygems/gem_runner'
|
|
11
11
|
require 'rubygems/exceptions'
|
|
12
|
+
Object.send(:remove_const, :Logging) # Logging 1.8.2 claims Object.constants.include?(:Logging) so nobody else can extend it ... :(
|
|
12
13
|
require 'logging'
|
|
13
14
|
|
|
14
15
|
module ::Logging
|
|
@@ -114,33 +115,31 @@ unless defined? ::DLDInternet::Mixlib::Logging::ClassMethods
|
|
|
114
115
|
|
|
115
116
|
end
|
|
116
117
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
@scheme
|
|
118
|
+
class ::Logging::ColorScheme
|
|
119
|
+
def scheme(s=nil)
|
|
120
|
+
@scheme = s if s
|
|
121
|
+
@scheme
|
|
122
|
+
end
|
|
123
123
|
end
|
|
124
|
-
end
|
|
125
124
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
125
|
+
class ::Logging::Logger
|
|
126
|
+
class << self
|
|
127
|
+
def define_log_methods( logger )
|
|
128
|
+
::Logging::LEVELS.each do |name,num|
|
|
129
|
+
code = "undef :#{name} if method_defined? :#{name}\n"
|
|
130
|
+
code << "undef :#{name}? if method_defined? :#{name}?\n"
|
|
131
|
+
|
|
132
|
+
unless logger.level.is_a?(Fixnum)
|
|
133
|
+
puts "logger.level for #{logger.name} is a #{logger.level.class} instead of a Fixnum!!!"
|
|
134
|
+
exit -1
|
|
135
|
+
end
|
|
136
|
+
if logger.level > num
|
|
137
|
+
code << <<-CODE
|
|
139
138
|
def #{name}?( ) false end
|
|
140
139
|
def #{name}( data = nil, trace = false ) false end
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
CODE
|
|
141
|
+
else
|
|
142
|
+
code << <<-CODE
|
|
144
143
|
def #{name}?( ) true end
|
|
145
144
|
def #{name}( data = nil, trace = nil )
|
|
146
145
|
caller = Kernel.caller[3]
|
|
@@ -153,138 +152,140 @@ unless defined? ::DLDInternet::Mixlib::Logging::ClassMethods
|
|
|
153
152
|
end
|
|
154
153
|
true
|
|
155
154
|
end
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
CODE
|
|
156
|
+
end
|
|
158
157
|
|
|
159
|
-
|
|
158
|
+
logger._meta_eval(code, __FILE__, __LINE__)
|
|
159
|
+
end
|
|
160
|
+
logger
|
|
160
161
|
end
|
|
161
|
-
logger
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
# Overrides the new method such that only one Logger will be created
|
|
165
|
-
# for any given logger name.
|
|
166
|
-
#
|
|
167
|
-
def new( *args )
|
|
168
|
-
return super if args.empty?
|
|
169
|
-
|
|
170
|
-
repo = ::Logging::Repository.instance
|
|
171
|
-
name = repo.to_key(args.shift)
|
|
172
|
-
opts = args.last.instance_of?(Hash) ? args.pop : {}
|
|
173
|
-
|
|
174
|
-
@mutex.synchronize do
|
|
175
|
-
logger = repo[name]
|
|
176
|
-
if logger.nil?
|
|
177
162
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
163
|
+
# Overrides the new method such that only one Logger will be created
|
|
164
|
+
# for any given logger name.
|
|
165
|
+
#
|
|
166
|
+
def new( *args )
|
|
167
|
+
return super if args.empty?
|
|
168
|
+
|
|
169
|
+
repo = ::Logging::Repository.instance
|
|
170
|
+
name = repo.to_key(args.shift)
|
|
171
|
+
opts = args.last.instance_of?(Hash) ? args.pop : {}
|
|
172
|
+
|
|
173
|
+
@mutex.synchronize do
|
|
174
|
+
logger = repo[name]
|
|
175
|
+
if logger.nil?
|
|
176
|
+
|
|
177
|
+
master = repo.master_for(name)
|
|
178
|
+
if master
|
|
179
|
+
if repo.has_logger?(master)
|
|
180
|
+
logger = repo[master]
|
|
181
|
+
else
|
|
182
|
+
logger = super(master)
|
|
183
|
+
repo[master] = logger
|
|
184
|
+
repo.children(master).each {|c| c.__send__(:parent=, logger)}
|
|
185
|
+
end
|
|
186
|
+
repo[name] = logger
|
|
182
187
|
else
|
|
183
|
-
logger = super(
|
|
184
|
-
repo[
|
|
185
|
-
repo.children(
|
|
188
|
+
logger = super(name, opts)
|
|
189
|
+
repo[name] = logger
|
|
190
|
+
repo.children(name).each {|c| c.__send__(:parent=, logger)}
|
|
186
191
|
end
|
|
187
|
-
repo[name] = logger
|
|
188
|
-
else
|
|
189
|
-
logger = super(name, opts)
|
|
190
|
-
repo[name] = logger
|
|
191
|
-
repo.children(name).each {|c| c.__send__(:parent=, logger)}
|
|
192
192
|
end
|
|
193
|
+
logger
|
|
193
194
|
end
|
|
194
|
-
logger
|
|
195
195
|
end
|
|
196
|
+
|
|
196
197
|
end
|
|
197
198
|
|
|
198
|
-
|
|
199
|
+
# call-seq:
|
|
200
|
+
# Logger.new( name )
|
|
201
|
+
# Logger[name]
|
|
202
|
+
#
|
|
203
|
+
# Returns the logger identified by _name_.
|
|
204
|
+
#
|
|
205
|
+
# When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
|
|
206
|
+
# retrieve the logger. When _name_ is a +Class+ the class name will be
|
|
207
|
+
# used to retrieve the logger. When _name_ is an object the name of the
|
|
208
|
+
# object's class will be used to retrieve the logger.
|
|
209
|
+
#
|
|
210
|
+
# Example:
|
|
211
|
+
#
|
|
212
|
+
# obj = MyClass.new
|
|
213
|
+
#
|
|
214
|
+
# log1 = Logger.new(obj)
|
|
215
|
+
# log2 = Logger.new(MyClass)
|
|
216
|
+
# log3 = Logger['MyClass']
|
|
217
|
+
#
|
|
218
|
+
# log1.object_id == log2.object_id # => true
|
|
219
|
+
# log2.object_id == log3.object_id # => true
|
|
220
|
+
#
|
|
221
|
+
def initialize( name, *args )
|
|
222
|
+
case name
|
|
223
|
+
when String
|
|
224
|
+
raise(ArgumentError, "logger must have a name") if name.empty?
|
|
225
|
+
else raise(ArgumentError, "logger name must be a String") end
|
|
226
|
+
|
|
227
|
+
repo = ::Logging::Repository.instance
|
|
228
|
+
opts = args.last.instance_of?(Hash) ? args.pop : {}
|
|
229
|
+
_setup(name, opts.merge({:parent => repo.parent(name)}))
|
|
230
|
+
end
|
|
199
231
|
|
|
200
|
-
# call-seq:
|
|
201
|
-
# Logger.new( name )
|
|
202
|
-
# Logger[name]
|
|
203
|
-
#
|
|
204
|
-
# Returns the logger identified by _name_.
|
|
205
|
-
#
|
|
206
|
-
# When _name_ is a +String+ or a +Symbol+ it will be used "as is" to
|
|
207
|
-
# retrieve the logger. When _name_ is a +Class+ the class name will be
|
|
208
|
-
# used to retrieve the logger. When _name_ is an object the name of the
|
|
209
|
-
# object's class will be used to retrieve the logger.
|
|
210
|
-
#
|
|
211
|
-
# Example:
|
|
212
|
-
#
|
|
213
|
-
# obj = MyClass.new
|
|
214
|
-
#
|
|
215
|
-
# log1 = Logger.new(obj)
|
|
216
|
-
# log2 = Logger.new(MyClass)
|
|
217
|
-
# log3 = Logger['MyClass']
|
|
218
|
-
#
|
|
219
|
-
# log1.object_id == log2.object_id # => true
|
|
220
|
-
# log2.object_id == log3.object_id # => true
|
|
221
|
-
#
|
|
222
|
-
def initialize( name, *args )
|
|
223
|
-
case name
|
|
224
|
-
when String
|
|
225
|
-
raise(ArgumentError, "logger must have a name") if name.empty?
|
|
226
|
-
else raise(ArgumentError, "logger name must be a String") end
|
|
227
|
-
|
|
228
|
-
repo = ::Logging::Repository.instance
|
|
229
|
-
opts = args.last.instance_of?(Hash) ? args.pop : {}
|
|
230
|
-
_setup(name, opts.merge({:parent => repo.parent(name)}))
|
|
231
|
-
end
|
|
232
232
|
|
|
233
|
+
def logEvent(evt)
|
|
234
|
+
log_event evt
|
|
235
|
+
end
|
|
233
236
|
|
|
234
|
-
|
|
235
|
-
|
|
237
|
+
def get_trace
|
|
238
|
+
@trace
|
|
239
|
+
end
|
|
236
240
|
end
|
|
237
241
|
|
|
238
|
-
|
|
239
|
-
|
|
242
|
+
class ::Logging::Layouts::Pattern
|
|
243
|
+
# Arguments to sprintf keyed to directive letters
|
|
244
|
+
verbose, $VERBOSE = $VERBOSE, nil
|
|
245
|
+
# noinspection RubyStringKeysInHashInspection,RubyExpressionInStringInspection
|
|
246
|
+
DIRECTIVE_TABLE = {
|
|
247
|
+
'C' => 'event.file != "" ? "(\e[38;5;25m#{event.file}::#{event.line}\e[0m)" : ""',
|
|
248
|
+
'c' => 'event.logger'.freeze,
|
|
249
|
+
'd' => 'format_date(event.time)'.freeze,
|
|
250
|
+
'F' => 'event.file'.freeze,
|
|
251
|
+
'f' => 'File.basename(event.file)'.freeze,
|
|
252
|
+
'g' => 'event.file != "" ? "(\e[38;5;25m#{File.join(File.dirname(event.file).split(File::SEPARATOR)[-2..-1],File.basename(event.file))}::#{event.line}\e[0m)" : ""',
|
|
253
|
+
'l' => '::Logging::LNAMES[event.level]'.freeze,
|
|
254
|
+
'L' => 'event.line'.freeze,
|
|
255
|
+
'M' => 'event.method'.freeze,
|
|
256
|
+
'm' => 'format_obj(event.data)'.freeze,
|
|
257
|
+
'p' => 'Process.pid'.freeze,
|
|
258
|
+
'r' => 'Integer((event.time-@created_at)*1000).to_s'.freeze,
|
|
259
|
+
't' => 'Thread.current.object_id.to_s'.freeze,
|
|
260
|
+
'T' => 'Thread.current[:name]'.freeze,
|
|
261
|
+
'%' => :placeholder
|
|
262
|
+
}.freeze
|
|
263
|
+
|
|
264
|
+
# Human name aliases for directives - used for colorization of tokens
|
|
265
|
+
# noinspection RubyStringKeysInHashInspection
|
|
266
|
+
COLOR_ALIAS_TABLE = {
|
|
267
|
+
'C' => :file_line,
|
|
268
|
+
'c' => :logger,
|
|
269
|
+
'd' => :date,
|
|
270
|
+
'F' => :file,
|
|
271
|
+
'f' => :file,
|
|
272
|
+
'g' => :file,
|
|
273
|
+
'L' => :line,
|
|
274
|
+
'l' => :logger,
|
|
275
|
+
'M' => :method,
|
|
276
|
+
'm' => :message,
|
|
277
|
+
'p' => :pid,
|
|
278
|
+
'r' => :time,
|
|
279
|
+
'T' => :thread,
|
|
280
|
+
't' => :thread_id,
|
|
281
|
+
'X' => :mdc,
|
|
282
|
+
'x' => :ndc,
|
|
283
|
+
}.freeze
|
|
284
|
+
|
|
285
|
+
ensure
|
|
286
|
+
$VERBOSE = verbose
|
|
240
287
|
end
|
|
241
|
-
end
|
|
242
288
|
|
|
243
|
-
class ::Logging::Layouts::Pattern
|
|
244
|
-
# Arguments to sprintf keyed to directive letters
|
|
245
|
-
verbose, $VERBOSE = $VERBOSE, nil
|
|
246
|
-
# noinspection RubyStringKeysInHashInspection,RubyExpressionInStringInspection
|
|
247
|
-
DIRECTIVE_TABLE = {
|
|
248
|
-
'C' => 'event.file != "" ? "(\e[38;5;25m#{event.file}::#{event.line}\e[0m)" : ""',
|
|
249
|
-
'c' => 'event.logger'.freeze,
|
|
250
|
-
'd' => 'format_date(event.time)'.freeze,
|
|
251
|
-
'F' => 'event.file'.freeze,
|
|
252
|
-
'f' => 'File.basename(event.file)'.freeze,
|
|
253
|
-
'g' => 'event.file != "" ? "(\e[38;5;25m#{File.join(File.dirname(event.file).split(File::SEPARATOR)[-2..-1],File.basename(event.file))}::#{event.line}\e[0m)" : ""',
|
|
254
|
-
'l' => '::Logging::LNAMES[event.level]'.freeze,
|
|
255
|
-
'L' => 'event.line'.freeze,
|
|
256
|
-
'M' => 'event.method'.freeze,
|
|
257
|
-
'm' => 'format_obj(event.data)'.freeze,
|
|
258
|
-
'p' => 'Process.pid'.freeze,
|
|
259
|
-
'r' => 'Integer((event.time-@created_at)*1000).to_s'.freeze,
|
|
260
|
-
't' => 'Thread.current.object_id.to_s'.freeze,
|
|
261
|
-
'T' => 'Thread.current[:name]'.freeze,
|
|
262
|
-
'%' => :placeholder
|
|
263
|
-
}.freeze
|
|
264
|
-
|
|
265
|
-
# Human name aliases for directives - used for colorization of tokens
|
|
266
|
-
# noinspection RubyStringKeysInHashInspection
|
|
267
|
-
COLOR_ALIAS_TABLE = {
|
|
268
|
-
'C' => :file_line,
|
|
269
|
-
'c' => :logger,
|
|
270
|
-
'd' => :date,
|
|
271
|
-
'F' => :file,
|
|
272
|
-
'f' => :file,
|
|
273
|
-
'g' => :file,
|
|
274
|
-
'L' => :line,
|
|
275
|
-
'l' => :logger,
|
|
276
|
-
'M' => :method,
|
|
277
|
-
'm' => :message,
|
|
278
|
-
'p' => :pid,
|
|
279
|
-
'r' => :time,
|
|
280
|
-
'T' => :thread,
|
|
281
|
-
't' => :thread_id,
|
|
282
|
-
'X' => :mdc,
|
|
283
|
-
'x' => :ndc,
|
|
284
|
-
}.freeze
|
|
285
|
-
|
|
286
|
-
ensure
|
|
287
|
-
$VERBOSE = verbose
|
|
288
289
|
end
|
|
289
290
|
|
|
290
291
|
class FakeLogger
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: dldinternet-mixlib-logging
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.4.
|
|
4
|
+
version: 0.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Christo De Lange
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2014-
|
|
11
|
+
date: 2014-11-16 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: logging
|