sawmill 0.0.8 → 0.0.9

Sign up to get free protection for your applications and to get access to all the features.
data/History.rdoc CHANGED
@@ -1,3 +1,8 @@
1
+ === 0.0.9 / 2010-01-28
2
+
3
+ * Some minor documentation cleanup.
4
+ * Added Logger#level_group.
5
+
1
6
  === 0.0.8 / 2009-12-09
2
7
 
3
8
  * The rotater crashed when obtaining an IO handle under Ruby 1.9. Fixed.
@@ -94,7 +94,7 @@ module Sawmill
94
94
  else
95
95
  raise ::ArgumentError, "You must pass a file path or an IO object"
96
96
  end
97
- processor_ = EntryProcessor::Format.new(io_, opts_)
97
+ processor_ = EntryProcessor::Format.new(io_, opts_.dup)
98
98
  Logger.new(opts_.merge(:processor => processor_))
99
99
  end
100
100
 
@@ -171,7 +171,7 @@ module Sawmill
171
171
  def shifting_logfile(filepath_, period_, max_size_, opts_={})
172
172
  rotater_ = Rotater.new(Rotater::ShiftingLogFile, opts_.merge(:file_path => filepath_,
173
173
  :max_file_size => max_size_, :shift_period => period_))
174
- processor_ = EntryProcessor::Format.new(rotater_, opts_)
174
+ processor_ = EntryProcessor::Format.new(rotater_, opts_.dup)
175
175
  Logger.new(opts_.merge(:processor => processor_))
176
176
  end
177
177
 
@@ -242,7 +242,7 @@ module Sawmill
242
242
  def date_based_logfile(filepath_, frequency_, opts_={})
243
243
  rotater_ = Rotater.new(Rotater::DateBasedLogFile, opts_.merge(:path_prefix => filepath_,
244
244
  :turnover_frequency => frequency_))
245
- processor_ = EntryProcessor::Format.new(rotater_, opts_)
245
+ processor_ = EntryProcessor::Format.new(rotater_, opts_.dup)
246
246
  Logger.new(opts_.merge(:processor => processor_))
247
247
  end
248
248
 
@@ -54,7 +54,7 @@ module Sawmill
54
54
  #
55
55
  # Supported options include:
56
56
  #
57
- # <tt>:levels</tt>::
57
+ # <tt>:level_group</tt>::
58
58
  # Use a custom Sawmill::LevelGroup. Normally, you should leave this
59
59
  # set to the default, which is Sawmill::STANDARD_LEVELS.
60
60
  # <tt>:level</tt>::
@@ -81,12 +81,12 @@ module Sawmill
81
81
  # If not specified, log entries are written out to STDOUT.
82
82
 
83
83
  def initialize(opts_={})
84
- @levels = opts_[:levels] || STANDARD_LEVELS
85
- @level = @levels.get(opts_[:level])
84
+ @level_group = opts_[:level_group] || opts_[:levels] || STANDARD_LEVELS
85
+ @level = @level_group.get(opts_[:level])
86
86
  if opts_.include?(:attribute_level)
87
- @attribute_level = @levels.get(opts_[:attribute_level])
87
+ @attribute_level = @level_group.get(opts_[:attribute_level])
88
88
  else
89
- @attribute_level = @levels.highest
89
+ @attribute_level = @level_group.highest
90
90
  end
91
91
  @progname = opts_[:progname] || 'sawmill'
92
92
  @record_progname = opts_[:record_progname]
@@ -100,7 +100,7 @@ module Sawmill
100
100
  # corresponding method in ruby's logger class.
101
101
 
102
102
  def add(level_, message_=nil, progname_=nil, &block_)
103
- level_obj_ = @levels.get(level_)
103
+ level_obj_ = @level_group.get(level_)
104
104
  if level_obj_.nil?
105
105
  raise Errors::UnknownLevelError, level_
106
106
  end
@@ -144,7 +144,7 @@ module Sawmill
144
144
  # because it bypasses the log formatting and parsing capability.
145
145
 
146
146
  def <<(message_)
147
- add(@levels.default, message_)
147
+ add(@level_group.default, message_)
148
148
  end
149
149
 
150
150
 
@@ -162,7 +162,7 @@ module Sawmill
162
162
  def begin_record(id_=nil)
163
163
  end_record if @current_record_id
164
164
  @current_record_id = (id_ || @record_id_generator.call).to_s
165
- @processor.begin_record(Entry::BeginRecord.new(@levels.highest, ::Time.now, @record_progname || @progname, @current_record_id))
165
+ @processor.begin_record(Entry::BeginRecord.new(@level_group.highest, ::Time.now, @record_progname || @progname, @current_record_id))
166
166
  @current_record_id
167
167
  end
168
168
 
@@ -181,7 +181,7 @@ module Sawmill
181
181
 
182
182
  def end_record
183
183
  if @current_record_id
184
- @processor.end_record(Entry::EndRecord.new(@levels.highest, ::Time.now, @record_progname || @progname, @current_record_id))
184
+ @processor.end_record(Entry::EndRecord.new(@level_group.highest, ::Time.now, @record_progname || @progname, @current_record_id))
185
185
  id_ = @current_record_id
186
186
  @current_record_id = nil
187
187
  id_
@@ -204,7 +204,7 @@ module Sawmill
204
204
  if level_ == true
205
205
  level_obj_ = @attribute_level
206
206
  else
207
- level_obj_ = @levels.get(level_)
207
+ level_obj_ = @level_group.get(level_)
208
208
  if level_obj_.nil?
209
209
  raise Errors::UnknownLevelError, level_
210
210
  end
@@ -270,7 +270,7 @@ module Sawmill
270
270
  if value_.kind_of?(Level)
271
271
  @level = value_
272
272
  else
273
- level_obj_ = @levels.get(value_)
273
+ level_obj_ = @level_group.get(value_)
274
274
  if level_obj_.nil?
275
275
  raise Errors::UnknownLevelError, value_
276
276
  end
@@ -282,6 +282,14 @@ module Sawmill
282
282
  alias_method :sev_threshold, :level
283
283
 
284
284
 
285
+ # Get the LevelGroup in use by this Logger. This setting cannot be
286
+ # changed once the logger is constructed.
287
+
288
+ def level_group
289
+ @level_group
290
+ end
291
+
292
+
285
293
  # Provide a block that generates and returns a unique record ID string.
286
294
  # This block will be called when begin_record is called without an
287
295
  # explicit ID provided. If you do not provide a block, Sawmill will use
@@ -329,7 +337,7 @@ module Sawmill
329
337
  method_name_ = method_.to_s
330
338
  question_ = method_name_[-1..-1] == '?'
331
339
  method_name_ = method_name_[0..-2] if question_
332
- level_ = @levels.lookup_method(method_name_)
340
+ level_ = @level_group.lookup_method(method_name_)
333
341
  return super(method_, *args_, &block_) unless level_
334
342
  if question_
335
343
  level_ >= @level
@@ -342,20 +350,20 @@ module Sawmill
342
350
  def self._get_default_record_id_generator # :nodoc:
343
351
  unless @_default_generator
344
352
  if defined?(::SecureRandom)
345
- def self._random_hex32
353
+ _random_hex32 = ::Proc.new do
346
354
  ::SecureRandom.hex(16)
347
355
  end
348
356
  elsif defined?(::ActiveSupport::SecureRandom)
349
- def self._random_hex32
357
+ _random_hex32 = ::Proc.new do
350
358
  ::ActiveSupport::SecureRandom.hex(16)
351
359
  end
352
360
  else
353
- def self._random_hex32
361
+ _random_hex32 = ::Proc.new do
354
362
  ::Kernel.rand(0x100000000000000000000000000000000).to_s(16).rjust(32, '0')
355
363
  end
356
364
  end
357
365
  @_default_generator = ::Proc.new do
358
- uuid_ = _random_hex32
366
+ uuid_ = _random_hex32.call
359
367
  uuid_[12] = '4'
360
368
  uuid_[16] = (uuid_[16,1].to_i(16)&3|8).to_s(16)
361
369
  uuid_.insert(8, '-')
@@ -121,7 +121,7 @@ module Sawmill
121
121
  end
122
122
 
123
123
 
124
- def _write_to_stream(io_, str_)
124
+ def _write_to_stream(io_, str_) # :nodoc:
125
125
  if SUPPORTS_ENCODING && @encoding
126
126
  str_ = str_.encode(@encoding, ENCODING_OPTS)
127
127
  end
@@ -43,7 +43,7 @@ end
43
43
  module Sawmill
44
44
 
45
45
  # Current gem version, as a frozen string.
46
- VERSION_STRING = '0.0.8'.freeze
46
+ VERSION_STRING = '0.0.9'.freeze
47
47
 
48
48
  # Current gem version, as a Versionomy::Value if the versionomy library
49
49
  # is available, or as a frozen string if not.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sawmill
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Azuma
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-09 00:00:00 -08:00
12
+ date: 2010-01-28 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency