From: Sam Roberts Date: 2005-03-10T05:57:02+09:00 Subject: [patch] logger.rb - allowing logger to be innitialized in a single line I wanted to do: SomeClass.logger = Logger.new(name, shift_age = 'weekly') { |l| l.level = Logger::ERROR } not alogger = Logger.new(name, shift_age = 'weekly') alogger.level = Logger::ERROR SomeClass.logger = alogger Index: lib/logger.rb =================================================================== RCS file: /src/ruby/lib/logger.rb,v retrieving revision 1.5.2.4 diff -u -r1.5.2.4 logger.rb --- lib/logger.rb 27 May 2004 14:39:11 -0000 1.5.2.4 +++ lib/logger.rb 9 Mar 2005 20:38:29 -0000 @@ -229,6 +229,7 @@ # # Logger.new(name, shift_age = 7, shift_size = 1048576) # Logger.new(name, shift_age = 'weekly') + # Logger.new(name, shift_age = 'weekly') { |l| l.level = Logger::ERROR } # # === Args # @@ -246,7 +247,7 @@ # Create an instance. See Logger::LogDevice.new for more information if # required. # - def initialize(logdev, shift_age = 0, shift_size = 1048576) + def initialize(logdev, shift_age = 0, shift_size = 1048576, &proc) @logdev = nil @progname = nil @level = DEBUG @@ -255,6 +256,7 @@ if logdev @logdev = LogDevice.new(logdev, :shift_age => shift_age, :shift_size => shift_size) end + proc.call(self) if proc end #