El Sado, 2 de Enero de 2010, Tim Pease escribi
> On Jan 2, 2010, at 2:37 PM, Iki Baz Castillo wrote:
> > Hi, is it possible to redirect $stderr to any available logger instance
> > (as Logger, SyslogLogger, Logging)?
> >
> > I think it cannot be done, since current Loggers can log to $stderr so we
> > would get some kind of "loop" XD
> 
> $stderr is a file descriptor. You can reopen the descriptor to any other
>  valid descriptor: file, socket, pipe, unix socket, etc.
> 
> For any of the loggers you mentioned above, get a hold of the internal
>  descriptor the logger is using and then ....
> 
> new_fd = logger.get_logger_file_descriptor
> $stderr.reopen new_fd

Thanks. The problem is that Syslog is a daemon rather than a file descriptor. 
This is: Syslog is a daemon which receives messages from syslog clients and 
log them to files or databases.

However I was able to use Syslog as $stderr as follows (thanks to Eric):


  require 'syslog_logger'  # Logger/Syslog converter

  class MySyslogLogger < SyslogLogger
    alias puts error
    alias write error
    def flush; self; end
  end

  $stderr = MySyslogLogger.new('foo')



-- 
Iki Baz Castillo <ibc / aliax.net>