How to check if the logfile of a Logger instance is closed?

C

ChrisKaelin

If I do:

l = Logger.new("testlog")
l.close

now if I want to close it again, I get:
IOError: closed stream

So far, I have checked for this error (by rescue clause), to see, if
the logfile is already closed. Is there a more elegant way to check if
the instance (i.e. the logfile stream) is already closed?
 
K

khaines

If I do:

l = Logger.new("testlog")
l.close

now if I want to close it again, I get:
IOError: closed stream

So far, I have checked for this error (by rescue clause), to see, if
the logfile is already closed. Is there a more elegant way to check if
the instance (i.e. the logfile stream) is already closed?

Logger doesn't provide a method to check this, so what you are doing is
right.

You can look at log4r (http://log4r.sourceforge.net/) for a logger that
supports a closed? method, and which is pretty flexible.

You might also look at my asynchronous logger, Analogger
(http://analogger.swiftcore.org). It supports a closed? method, as
well.

It also looks like it would be pretty easy to subclass Logger and
LogDevice to create a version that implements closed?.


Kirk Haines
 
C

ChrisKaelin

Logger doesn't provide a method to check this, so what you are doing is
right.

You can look at log4r (http://log4r.sourceforge.net/) for a logger that
supports a closed? method, and which is pretty flexible.

You might also look at my asynchronous logger, Analogger
(http://analogger.swiftcore.org). It supports a closed? method, as
well.

It also looks like it would be pretty easy to subclass Logger and
LogDevice to create a version that implements closed?.


Kirk Haines
Thanks, I was thinking too of subclassing Logger for that, but the
rescue clause seems to do this work well enough ;-)

Analogger looks great, but for my simple script framework it is a bit
too much. I'll check it, if I do bigger projects in the future...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top