From: "Iñaki Baz Castillo" Date: 2010-01-05T05:39:52+09:00 Subject: Why does "warn" print a extra \n ? Hi, by redirecting $stderr to a logger (Logger or SyslogLogger instance) I've realized that Kernel#warn prints an extra \n so the logger is called twice (the second one with an empty line). The "warn" code shows it clearly: static VALUE rb_warn_m(self, mesg) VALUE self, mesg; { if (!NIL_P(ruby_verbose)) { rb_io_write(rb_stderr, mesg); rb_io_write(rb_stderr, rb_default_rs); } return Qnil; } So for example by redirecting $stderr to a Logger instance warn "hello" I get: # Logfile created on 2010-01-04 21:32:21 +0100 by logger.rb/20321 F, [2010-01-04T21:32:38.981099 #22370] FATAL -- : hello F, [2010-01-04T21:32:38.981385 #22370] FATAL -- : Can this be avoided (without rewritting "warn" call)? Thanks. -- Iñaki Baz Castillo