From: Alex Combas Date: 2006-01-30T07:27:47+09:00 Subject: Re: Question about Lo4R $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=5.10 DISTRIB_CODENAME=breezy DISTRIB_DESCRIPTION="Ubuntu (The Breezy Badger Release)" $ ruby -v ruby 1.8.3 (2005-06-23) [i486-linux] On 1/29/06, tsumeruby@tsumelabs.com wrote: > Just a note, the ruby included with breezy is not 1.8.3 release. ruby -v > Most people build their own snapshot of ruby. I never trust a distributors > ruby because they 1) keep taking snapshots from a SCM, or 2) make > modifications which break existing code. > > Tsume > > On Monday 30 January 2006 06:09 am, Zach Moazeni wrote: > > Hello, > > I'm having an issue with a Formatter for Log4R. > > > > I'm trying to use the %c format directive to display the Line Number of > > the file and for some reason it keeps throwing an error. > > > > I'm using Ubuntu Breezy 5.1, Ruby 1.8.3, and Log4R 1.0.5. Is anyone else > > having any similar issues? > > > > Error Msg : > > (eval):2:in `format': undefined method `[]' for nil:NilClass > > (NoMethodError) from > > /usr/local/lib/site_ruby/1.8/log4r/outputter/outputter.rb:118:in `format' > > from > > /usr/local/lib/site_ruby/1.8/log4r/outputter/outputter.rb:108:in > > `canonical_log' > > from > > /usr/local/lib/site_ruby/1.8/log4r/outputter/outputter.rb:108:in `synch' > > from > > /usr/local/lib/site_ruby/1.8/log4r/outputter/outputter.rb:128:in > > `synchronize' > > from > > /usr/local/lib/site_ruby/1.8/log4r/outputter/outputter.rb:128:in `synch' > > from > > /usr/local/lib/site_ruby/1.8/log4r/outputter/outputter.rb:108:in > > `canonical_log' > > from (eval):3:in `debug' > > from (eval):8:in `debug' > > from (eval):8:in `each' > > from (eval):8:in `debug' > > from ./blah.rb:37:in `happy' > > from ./blah.rb:42 > > > > > > > > Here is the small snipbit of code > > > > require 'log4r' > > include Log4r > > > > class MyClass > > > > > > def initialize > > puts('init') > > @my_log = Logger.new 'myLog' > > formatter = > > PatternFormatter.new( > > #:pattern => "%l[%d] %t %1M") > > > > :pattern => "%5l [%d] %t: %.25M", > > :date_pattern => "%H:%M:%S") > > > > @my_log.outputters = FileOutputter.new('myLog', > > > > :filename => "log_file", > > :trunc => false, > > :formatter => formatter) > > > > puts(Kernel.caller[0].to_s) > > end > > > > protected > > def logger > > puts("got logger") > > @my_log > > end > > > > end > > > > class MyChild < MyClass > > def initialize > > super > > end > > > > def happy > > logger.debug('happy') > > end > > end > > > > c = MyChild.new > > c.happy > > > > > > I'd appreciate any and all input. Thanks! > > -Zach > > -- Alex Combas http://noodlejunkie.blogspot.com/