Vinay Sajip <vinay_sa...@yahoo.co.uk> added the comment: > Is it a problem to have the logging module be a bit more defensive and > only try a flush/close if the stream isn't already closed?
Not particularly, but it would be better if the following approach were taken: import logging import StringIO stream = StringIO.StringIO() h = logging.StreamHandler(stream) r = logging.getLogger() r.addHandler(h) #Do your testing work r.removeHandler(h) h.close() # closes underlying stream, also removes logging refs to h It should be understood that if a stream is passed to a StreamHandler, the ownership of that stream is passed as well, so closing the handler rather than the underlying stream is the right thing to do. ISTM this is good practice in general and not exclusive to logging. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue6333> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com