diff -Naur analogger-0.5.0-original/src/swiftcore/Analogger.rb analogger-0.5.0/src/swiftcore/Analogger.rb --- analogger-0.5.0-original/src/swiftcore/Analogger.rb 2007-03-30 21:21:22.000000000 -0500 +++ analogger-0.5.0/src/swiftcore/Analogger.rb 2008-08-06 13:29:32.000000000 -0500 @@ -82,7 +82,7 @@ def cleanup @logs.each do |service,l| - l.logfile.fsync if !l.logfile.closed? and l.logfile.fileno > 2 + l.logfile.fsync if l.logfile.kind_of? File and !l.logfile.closed? and l.logfile.fileno > 2 l.logfile.close unless l.logfile.closed? or l.logfile.fileno < 3 end end @@ -157,6 +157,8 @@ $stdout elsif logfile =~ /^STDERR$/i $stderr + elsif logfile =~ /\A\|/ + Kernel.open(logfile,'wb') else File.open(logfile,'ab+') end @@ -201,7 +203,7 @@ end def flush_queue - @logs.each_value {|l| l.logfile.fsync if l.logfile.fileno > 2} + @logs.each_value {|l| l.logfile.fsync if l.logfile.kind_of? File and l.logfile.fileno > 2} end def key