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
Thanks for any comment.
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
Thanks for any comment.
On Jan 2, 2010, at 2:37 PM, Iñaki Baz C. 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
Blessings,
TwP
El Sábado, 2 de Enero de 2010, Tim P.
escribió:> 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’)
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs