El SáÃado, 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>