dldinternet-mixlib-logging 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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