hello
I am writing an article about logging with Python and I also want to mention
Ruby and log4r.
at the end of this posting you see the error message I get with Ruby 1.8.0
preview 2 and log4r 1.0.2. I also get this problems with Ruby 1.6.8
I used the example from the documentation:
···
===============
require 'log4r’
include Log4r
create a logger named ‘mylog’ that logs to stdout
mylog = Logger.new 'mylog’
mylog.outputters = Outputter.stdout
Now we can log.
def do_log(log)
log.debug "This is a message with level DEBUG"
log.info "This is a message with level INFO"
log.warn "This is a message with level WARN"
log.error "This is a message with level ERROR"
log.fatal "This is a message with level FATAL"
end
do_log(mylog)
does anybody know if there is a fix to this ??
is the log4r project still active ??
it would be bad to write an article if the software doesn’t work out of the
box. this could make a bad impression to the reader.
and I want Ruby to make a good impression !!!
and because it will be only a short part of the article about Ruby I can not
write about a workaround for this.
as an alternative I was thinking about using the devel/logger library
instead. but because log4r is more powerful and more similar to the python
stuff, I think this would be better to demonstrate.
any hints on this problem ?
Markus
here is the error message:
/usr/local/lib/ruby/1.8/singleton.rb:145: warning: redefine instance
/usr/local/lib/ruby/1.8/singleton.rb:145: warning: redefine instance
(eval):2: warning: redefine debug
(eval):1: warning: redefine debug?
(eval):2: warning: redefine info
(eval):1: warning: redefine info?
(eval):2: warning: redefine warn
(eval):1: warning: redefine warn?
(eval):2: warning: redefine error
(eval):1: warning: redefine error?
(eval):2: warning: redefine fatal
(eval):1: warning: redefine fatal?
(eval):1: warning: redefine all?
(eval):1: warning: redefine off?
(eval):1: warning: redefine debug
(eval):1: warning: redefine debug?
(eval):1: warning: redefine info
(eval):1: warning: redefine info?
(eval):1: warning: redefine warn
(eval):1: warning: redefine warn?
(eval):1: warning: redefine error
(eval):1: warning: redefine error?
(eval):1: warning: redefine fatal
(eval):1: warning: redefine fatal?
(eval):1: warning: redefine all?
(eval):1: warning: redefine off?
(eval):2: warning: redefine debug
(eval):1: warning: redefine debug?
(eval):2: warning: redefine info
(eval):1: warning: redefine info?
(eval):2: warning: redefine warn
(eval):1: warning: redefine warn?
(eval):2: warning: redefine error
(eval):1: warning: redefine error?
(eval):2: warning: redefine fatal
(eval):1: warning: redefine fatal?
(eval):1: warning: redefine all?
(eval):1: warning: redefine off?
(eval):2: warning: redefine debug
(eval):2: warning: redefine info
(eval):2: warning: redefine warn
(eval):2: warning: redefine error
(eval):2: warning: redefine fatal
/usr/local/lib/ruby/site_ruby/1.8/log4r/formatter/formatter.rb:58:in
sprintf': unnumbered(1) mixed with numbered (ArgumentError) from /usr/local/lib/ruby/site_ruby/1.8/log4r/formatter/formatter.rb:58:in
format’
from
/usr/local/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:118:in
format' from /usr/local/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:108:in
canonical_log’
from
/usr/local/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:108:in
synch' from /usr/local/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:128:in
synchronize’
from
/usr/local/lib/ruby/site_ruby/1.8/log4r/outputter/outputter.rb:128:in
synch' from /usr/local/lib/ruby/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 simple.rb:22:in `do_log’
from simple.rb:28