dldinternet-mixlib-logging 0.1.4 → 0.1.5

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZjFmNzA4MTNmZDMxNDMzMTEwOGZkMjY0YjdiZTk2ZTgwMWMyNGJlOQ==
4
+ ZGNiYzY2YjhhOWYxYTlkMjFiMmQxZmUyYzE1ZTE3YjY4ZjhhMTYwNw==
5
5
  data.tar.gz: !binary |-
6
- YWM4ZDYwNWJlOTc5ZTY2MzVmY2Y5MDkwODI3ZjNjNWM4OTM3MzllZA==
6
+ ZDVhZDQ1MTYyMzk1ZWZlYzVkNmIwNGFjM2JkYzYzZjg0N2M0YzI2Mw==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YzdiNjg2NmMyNGZlZmM5ZjkyYWY4MjkzMTBkMGIwZTdmMTdiMmY3MTMwZDVi
10
- MDMxMjdhZTZiZWI4NTQ3YmFhYzZhNTE0MWFmZGVmYzI5YTE2NGQ4NjRjYWMx
11
- MDhhMzdlMWQ4N2RiNmZhZmRjMzY3NzA3YWI1MzVhMzg4NzMzNjU=
9
+ M2ZhZDU0MDE5NGE1MGNlOGQyODdlMjUxMjYwN2NjOTMxODc3YzA4ZjA4YTAw
10
+ MjA3NTA3NjBmYzBkMmM0MDk3M2Y5NzdmYmJkNmI4ZmIyOGI1MGI5ZGYwMmI4
11
+ MTA0NGJlYjRkM2NhYTk2OTExM2I4NzVkMWM1Zjc3Yzk5YTNlMmY=
12
12
  data.tar.gz: !binary |-
13
- MDI1NzlkZDg4ZGM2MzUxZmZhMDg2YWM1ODA0ZWY5MWZjZjZiZjcxNWJkMmFh
14
- ZmUwNTJlYjdjZWQwNThiY2FlMGJjNDE0NTg3NjYwODdhYmJiZmQzNTJkYWVi
15
- MGQ4MTk2Njc2YWU3MTQzYzY3MGQwYTgyNmYzNjI1MjY5ZWNhODY=
13
+ OTg4Yzc3YzVjYjg1MWMyNDdmNjY5MTliNzFlNmZlNThjMDBhYmJiNWVkM2Q1
14
+ MzVmMjZjZjRiMTc2YjJkNWM2NjNmYmE3MmNjMmJlMWY4ZDk0ZTZjMTA2NWIy
15
+ ZjllZjNiZTYwYzAxNDA5MmM5MzIyN2RmM2YwYjg1M2NjMTIzOGM=
@@ -1,34 +1,36 @@
1
- require 'dldinternet/mixlib/logging/version'
1
+ unless defined? ::DLDInternet::Mixlib::Logging::ClassMethods
2
2
 
3
- module DLDInternet
4
- module Mixlib
5
- module Logging
3
+ require 'dldinternet/mixlib/logging/version'
6
4
 
7
- require "rubygems"
8
- require 'rubygems/gem_runner'
9
- require 'rubygems/exceptions'
10
- require 'logging'
5
+ module DLDInternet
6
+ module Mixlib
7
+ module Logging
11
8
 
12
- class ::Logging::ColorScheme
13
- def scheme
14
- @scheme
9
+ require "rubygems"
10
+ require 'rubygems/gem_runner'
11
+ require 'rubygems/exceptions'
12
+ require 'logging'
13
+
14
+ class ::Logging::ColorScheme
15
+ def scheme
16
+ @scheme
17
+ end
15
18
  end
16
- end
17
19
 
18
- class ::Logging::Logger
19
- class << self
20
- def define_log_methods( logger )
21
- ::Logging::LEVELS.each do |name,num|
22
- code = "undef :#{name} if method_defined? :#{name}\n"
23
- code << "undef :#{name}? if method_defined? :#{name}?\n"
20
+ class ::Logging::Logger
21
+ class << self
22
+ def define_log_methods( logger )
23
+ ::Logging::LEVELS.each do |name,num|
24
+ code = "undef :#{name} if method_defined? :#{name}\n"
25
+ code << "undef :#{name}? if method_defined? :#{name}?\n"
24
26
 
25
- if logger.level > num
26
- code << <<-CODE
27
+ if logger.level > num
28
+ code << <<-CODE
27
29
  def #{name}?( ) false end
28
30
  def #{name}( data = nil, trace = false ) false end
29
- CODE
30
- else
31
- code << <<-CODE
31
+ CODE
32
+ else
33
+ code << <<-CODE
32
34
  def #{name}?( ) true end
33
35
  def #{name}( data = nil, trace = nil )
34
36
  caller = Kernel.caller[3]
@@ -43,215 +45,219 @@ module DLDInternet
43
45
  end
44
46
  true
45
47
  end
46
- CODE
47
- end
48
+ CODE
49
+ end
48
50
 
49
- logger._meta_eval(code, __FILE__, __LINE__)
51
+ logger._meta_eval(code, __FILE__, __LINE__)
52
+ end
53
+ logger
50
54
  end
51
- logger
55
+ end
56
+
57
+ def logEvent(evt)
58
+ log_event evt
52
59
  end
53
60
  end
54
61
 
55
- def logEvent(evt)
56
- log_event evt
62
+ class ::Logging::Layouts::Pattern
63
+ # Arguments to sprintf keyed to directive letters
64
+ verbose, $VERBOSE = $VERBOSE, nil
65
+ # noinspection RubyStringKeysInHashInspection
66
+ DIRECTIVE_TABLE = {
67
+ 'c' => 'event.logger'.freeze,
68
+ 'd' => 'format_date(event.time)'.freeze,
69
+ 'F' => 'event.file'.freeze,
70
+ 'l' => '::Logging::LNAMES[event.level]'.freeze,
71
+ 'L' => 'event.line'.freeze,
72
+ 'm' => 'format_obj(event.data)'.freeze,
73
+ 'M' => 'event.method'.freeze,
74
+ 'p' => 'Process.pid'.freeze,
75
+ 'r' => 'Integer((event.time-@created_at)*1000).to_s'.freeze,
76
+ 't' => 'Thread.current.object_id.to_s'.freeze,
77
+ 'T' => 'Thread.current[:name]'.freeze,
78
+ 'C' => 'event.file != "" ? "(\e[38;5;25m#{event.file}::#{event.line}\e[0m)" : ""',
79
+ '%' => :placeholder
80
+ }.freeze
81
+
82
+ # Human name aliases for directives - used for colorization of tokens
83
+ # noinspection RubyStringKeysInHashInspection
84
+ COLOR_ALIAS_TABLE = {
85
+ 'c' => :logger,
86
+ 'd' => :date,
87
+ 'm' => :message,
88
+ 'p' => :pid,
89
+ 'r' => :time,
90
+ 'T' => :thread,
91
+ 't' => :thread_id,
92
+ 'F' => :file,
93
+ 'L' => :line,
94
+ 'M' => :method,
95
+ 'X' => :mdc,
96
+ 'x' => :ndc,
97
+ 'C' => :file_line,
98
+ }.freeze
99
+
100
+ ensure
101
+ $VERBOSE = verbose
57
102
  end
58
- end
59
103
 
60
- class ::Logging::Layouts::Pattern
61
- # Arguments to sprintf keyed to directive letters
62
- verbose, $VERBOSE = $VERBOSE, nil
63
- # noinspection RubyStringKeysInHashInspection
64
- DIRECTIVE_TABLE = {
65
- 'c' => 'event.logger'.freeze,
66
- 'd' => 'format_date(event.time)'.freeze,
67
- 'F' => 'event.file'.freeze,
68
- 'l' => '::Logging::LNAMES[event.level]'.freeze,
69
- 'L' => 'event.line'.freeze,
70
- 'm' => 'format_obj(event.data)'.freeze,
71
- 'M' => 'event.method'.freeze,
72
- 'p' => 'Process.pid'.freeze,
73
- 'r' => 'Integer((event.time-@created_at)*1000).to_s'.freeze,
74
- 't' => 'Thread.current.object_id.to_s'.freeze,
75
- 'T' => 'Thread.current[:name]'.freeze,
76
- 'C' => 'event.file != "" ? "(\e[38;5;25m#{event.file}::#{event.line}\e[0m)" : ""',
77
- '%' => :placeholder
78
- }.freeze
79
-
80
- # Human name aliases for directives - used for colorization of tokens
81
- # noinspection RubyStringKeysInHashInspection
82
- COLOR_ALIAS_TABLE = {
83
- 'c' => :logger,
84
- 'd' => :date,
85
- 'm' => :message,
86
- 'p' => :pid,
87
- 'r' => :time,
88
- 'T' => :thread,
89
- 't' => :thread_id,
90
- 'F' => :file,
91
- 'L' => :line,
92
- 'M' => :method,
93
- 'X' => :mdc,
94
- 'x' => :ndc,
95
- 'C' => :file_line,
96
- }.freeze
97
-
98
- ensure
99
- $VERBOSE = verbose
100
- end
104
+ class FakeLogger
105
+ def method_missing(m, *args, &block)
106
+ puts args[0]
107
+ end
108
+ end
109
+
110
+ module ClassMethods
101
111
 
102
- class FakeLogger
103
- def method_missing(m, *args, &block)
104
- puts args[0]
105
112
  end
106
- end
107
113
 
114
+ attr :logger
115
+ attr_reader :args
116
+ attr_reader :step
117
+ attr_reader :TODO
108
118
 
109
- def included(includer)
110
- includer.class_eval do
111
- attr :logger
112
- attr_reader :args
113
- attr_reader :step
114
- attr_reader :TODO
115
-
116
- # --------------------------------------------------------------------------------
117
- def logTodo(msg)
118
-
119
- # Regular expression used to parse out caller information
120
- #
121
- # * $1 == filename
122
- # * $2 == line number
123
- # * $3 == method name (might be nil)
124
- caller_rgxp = %r/([-\.\/\(\)\w]+):(\d+)(?::in `(\w+)')?/o
125
- #CALLER_INDEX = 2
126
- caller_index = ((defined? JRUBY_VERSION and JRUBY_VERSION[%r/^1.6/]) or (defined? RUBY_ENGINE and RUBY_ENGINE[%r/^rbx/i])) ? 0 : 0
127
- stack = Kernel.caller
128
- return if stack.nil?
129
-
130
- match = caller_rgxp.match(stack[caller_index])
131
- file = match[1]
132
- line = Integer(match[2])
133
- modl = match[3] unless match[3].nil?
134
-
135
- unless @TODO["#{file}::#{line}"]
136
- le = ::Logging::LogEvent.new(@logger, ::Logging::LEVELS['todo'], msg, false)
137
- @logger.logEvent(le)
138
- @TODO["#{file}::#{line}"] = true
139
- end
119
+ # --------------------------------------------------------------------------------
120
+ def logTodo(msg)
121
+
122
+ # Regular expression used to parse out caller information
123
+ #
124
+ # * $1 == filename
125
+ # * $2 == line number
126
+ # * $3 == method name (might be nil)
127
+ caller_rgxp = %r/([-\.\/\(\)\w]+):(\d+)(?::in `(\w+)')?/o
128
+ #CALLER_INDEX = 2
129
+ caller_index = ((defined? JRUBY_VERSION and JRUBY_VERSION[%r/^1.6/]) or (defined? RUBY_ENGINE and RUBY_ENGINE[%r/^rbx/i])) ? 0 : 0
130
+ stack = Kernel.caller
131
+ return if stack.nil?
132
+
133
+ match = caller_rgxp.match(stack[caller_index])
134
+ file = match[1]
135
+ line = Integer(match[2])
136
+ modl = match[3] unless match[3].nil?
137
+
138
+ unless @TODO["#{file}::#{line}"]
139
+ le = ::Logging::LogEvent.new(@logger, ::Logging::LEVELS['todo'], msg, false)
140
+ @logger.logEvent(le)
141
+ @TODO["#{file}::#{line}"] = true
140
142
  end
143
+ end
141
144
 
142
- # -----------------------------------------------------------------------------
143
- def logStep(msg)
144
- logger = getLogger(@args, 'logStep')
145
- if logger
146
- logger.step "Resource #{@step+=1}: #{msg} ..."
147
- end
145
+ # -----------------------------------------------------------------------------
146
+ def logStep(msg)
147
+ logger = getLogger(@args, 'logStep')
148
+ if logger
149
+ logger.step "Resource #{@step+=1}: #{msg} ..."
148
150
  end
151
+ end
149
152
 
150
- # -----------------------------------------------------------------------------
151
- # Set up logger
153
+ # -----------------------------------------------------------------------------
154
+ # Set up logger
152
155
 
153
- def setLogger(logger)
154
- @logger = logger
155
- end
156
+ def setLogger(logger)
157
+ @logger = logger
158
+ end
156
159
 
157
- def getLogger(args,from='',alogger=nil)
158
- logger = alogger || @logger
159
- unless logger
160
- unless from==''
161
- from = "#{from} - "
160
+ def getLogger(args,from='',alogger=nil)
161
+ logger = alogger || @logger
162
+ unless logger
163
+ unless from==''
164
+ from = "#{from} - "
165
+ end
166
+ @step = 0
167
+ if args
168
+ if args.key?(:log_file) and args[:log_file]
169
+ args[:log_path] = File.dirname(args[:log_file])
170
+ elsif args[:my_name]
171
+ if args[:log_path]
172
+ args[:log_file] = "#{args[:log_path]}/#{args[:my_name]}.log"
173
+ else
174
+ args[:log_file] = "/tmp/#{args[:my_name]}.log"
175
+ end
162
176
  end
163
- @step = 0
164
- if args
165
- if args.key?(:log_file) and args[:log_file]
166
- args[:log_path] = File.dirname(args[:log_file])
167
- elsif args[:my_name]
168
- if args[:log_path]
169
- args[:log_file] = "#{args[:log_path]}/#{args[:my_name]}.log"
177
+
178
+ begin
179
+ ::Logging.init :trace, :debug, :info, :step, :warn, :error, :fatal, :todo unless defined? ::Logging::MAX_LEVEL_LENGTH
180
+ if args[:origins] and args[:origins][:log_level]
181
+ if (::Logging::LEVELS[args[:log_level].to_s] and ::Logging::LEVELS[args[:log_level].to_s] < 2)
182
+ #puts "#{args[:log_level].to_s} = #{::Logging::LEVELS[args[:log_level].to_s]}".light_yellow
183
+ puts "#{args[:origins][:log_level]} says #{args[:log_level]}".light_yellow
170
184
  else
171
- args[:log_file] = "/tmp/#{args[:my_name]}.log"
185
+ from = ''
172
186
  end
173
187
  end
188
+ l_opts = args[:log_opts].call(::Logging::MAX_LEVEL_LENGTH) || {
189
+ :pattern => "#{from}%d %#{::Logging::MAX_LEVEL_LENGTH}l: %m\n",
190
+ :date_pattern => '%Y-%m-%d %H:%M:%S',
191
+ }
192
+ logger = ::Logging.logger( STDOUT, l_opts)
193
+ l_opts = args[:log_opts].call(::Logging::MAX_LEVEL_LENGTH) || {
194
+ :pattern => "#{from}%d %#{::Logging::MAX_LEVEL_LENGTH}l: %m %C\n",
195
+ :date_pattern => '%Y-%m-%d %H:%M:%S',
196
+ }
197
+ layout = ::Logging::Layouts::Pattern.new(l_opts)
174
198
 
175
- begin
176
- ::Logging.init :trace, :debug, :info, :step, :warn, :error, :fatal, :todo unless defined? ::Logging::MAX_LEVEL_LENGTH
177
- if args[:origins] and args[:origins][:log_level]
178
- if (::Logging::LEVELS[args[:log_level].to_s] and ::Logging::LEVELS[args[:log_level].to_s] < 2)
179
- #puts "#{args[:log_level].to_s} = #{::Logging::LEVELS[args[:log_level].to_s]}".light_yellow
180
- puts "#{args[:origins][:log_level]} says #{args[:log_level]}".light_yellow
181
- else
182
- from = ''
183
- end
184
- end
185
- l_opts = args[:log_opts].call(::Logging::MAX_LEVEL_LENGTH) || {
186
- :pattern => "#{from}%d %#{::Logging::MAX_LEVEL_LENGTH}l: %m\n",
187
- :date_pattern => '%Y-%m-%d %H:%M:%S',
188
- }
189
- logger = ::Logging.logger( STDOUT, l_opts)
190
- l_opts = args[:log_opts].call(::Logging::MAX_LEVEL_LENGTH) || {
191
- :pattern => "#{from}%d %#{::Logging::MAX_LEVEL_LENGTH}l: %m %C\n",
192
- :date_pattern => '%Y-%m-%d %H:%M:%S',
193
- }
194
- layout = ::Logging::Layouts::Pattern.new(l_opts)
195
-
196
- if args[:log_file] and args[:log_file].instance_of?(String)
197
- dev = args[:log_file]
198
- a_opts = Hash.new
199
- a_opts[:filename] = dev
200
- a_opts[:layout] = layout
201
- a_opts.merge! l_opts
202
-
203
- name = case dev
204
- when String; dev
205
- when File; dev.path
206
- else dev.object_id.to_s end
207
-
208
- appender =
209
- case dev
210
- when String
211
- ::Logging::Appenders::RollingFile.new(name, a_opts)
212
- else
213
- ::Logging::Appenders::IO.new(name, dev, a_opts)
214
- end
215
- logger.add_appenders appender
216
- end
199
+ if args[:log_file] and args[:log_file].instance_of?(String)
200
+ dev = args[:log_file]
201
+ a_opts = Hash.new
202
+ a_opts[:filename] = dev
203
+ a_opts[:layout] = layout
204
+ a_opts.merge! l_opts
217
205
 
218
- scheme = ::Logging::ColorScheme.new( 'christo', :levels => {
219
- :trace => [:blue, :on_white],
220
- :debug => :cyan,
221
- :info => :green,
222
- :step => :green,
223
- :warn => :yellow,
224
- :error => :red,
225
- :fatal => [:red, :on_white],
226
- :todo => :purple,
227
- }).scheme
228
- scheme[:todo] = "\e[38;5;55m"
229
- l_opts[:color_scheme] = 'christo'
230
- layout = ::Logging::Layouts::Pattern.new(l_opts)
231
-
232
- appender = logger.appenders[0]
233
- appender.layout = layout
234
- logger.remove_appenders appender
235
- logger.add_appenders appender
206
+ name = case dev
207
+ when String; dev
208
+ when File; dev.path
209
+ else dev.object_id.to_s end
236
210
 
237
- logger.level = args[:log_level] ? args[:log_level] : :warn
238
- logger.trace = true if args[:trace]
239
- @args = args
240
- rescue Gem::LoadError
241
- logger = FakeLogger.new
242
- rescue => e
243
- # not installed
244
- logger = FakeLogger.new
211
+ appender =
212
+ case dev
213
+ when String
214
+ ::Logging::Appenders::RollingFile.new(name, a_opts)
215
+ else
216
+ ::Logging::Appenders::IO.new(name, dev, a_opts)
217
+ end
218
+ logger.add_appenders appender
245
219
  end
246
- @TODO = {} if @TODO.nil?
247
- end # if args
248
- @logger = alogger || logger
249
- end # unless logger
250
- logger
251
- end # getLogger
220
+
221
+ scheme = ::Logging::ColorScheme.new( 'christo', :levels => {
222
+ :trace => [:blue, :on_white],
223
+ :debug => :cyan,
224
+ :info => :green,
225
+ :step => :green,
226
+ :warn => :yellow,
227
+ :error => :red,
228
+ :fatal => [:red, :on_white],
229
+ :todo => :purple,
230
+ }).scheme
231
+ scheme[:todo] = "\e[38;5;55m"
232
+ l_opts[:color_scheme] = 'christo'
233
+ layout = ::Logging::Layouts::Pattern.new(l_opts)
234
+
235
+ appender = logger.appenders[0]
236
+ appender.layout = layout
237
+ logger.remove_appenders appender
238
+ logger.add_appenders appender
239
+
240
+ logger.level = args[:log_level] ? args[:log_level] : :warn
241
+ logger.trace = true if args[:trace]
242
+ @args = args
243
+ rescue Gem::LoadError
244
+ logger = FakeLogger.new
245
+ rescue => e
246
+ # not installed
247
+ logger = FakeLogger.new
248
+ end
249
+ @TODO = {} if @TODO.nil?
250
+ end # if args
251
+ @logger = alogger || logger
252
+ end # unless logger
253
+ logger
254
+ end # getLogger
255
+
256
+ def included(includer)
257
+ includer.extend(ClassMethods)
252
258
  end
253
259
  end
254
260
  end
255
261
  end
256
- end
257
262
 
263
+ end # unless defined?
@@ -2,7 +2,7 @@ module Dldinternet
2
2
  module Mixlib
3
3
  module Logging
4
4
  # dldinternet-mixlib-logging version
5
- VERSION = "0.1.4"
5
+ VERSION = "0.1.5"
6
6
  end
7
7
  end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dldinternet-mixlib-logging
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Christo De Lange