Issue 5013: Fixed bug in FileHandler when delay was set - added fix for RotatingFileHandler and changed header comment slightly.

This commit is contained in:
Vinay Sajip 2009-01-21 00:19:28 +00:00
parent b14043c1ec
commit 6268cbc771
3 changed files with 26 additions and 20 deletions

View file

@ -18,7 +18,7 @@
Logging package for Python. Based on PEP 282 and comments thereto in
comp.lang.python, and influenced by Apache's log4j system.
Copyright (C) 2001-2008 Vinay Sajip. All Rights Reserved.
Copyright (C) 2001-2009 Vinay Sajip. All Rights Reserved.
To use, simply 'import logging' and log away!
"""
@ -43,8 +43,8 @@ except ImportError:
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
__status__ = "production"
__version__ = "0.5.0.6"
__date__ = "03 December 2008"
__version__ = "0.5.0.7"
__date__ = "20 January 2009"
#---------------------------------------------------------------------------
# Miscellaneous module data
@ -737,7 +737,6 @@ class StreamHandler(Handler):
if strm is None:
strm = sys.stderr
self.stream = strm
self.formatter = None
def flush(self):
"""
@ -792,10 +791,12 @@ class FileHandler(StreamHandler):
self.mode = mode
self.encoding = encoding
if delay:
#We don't open the stream, but we still need to call the
#Handler constructor to set level, formatter, lock etc.
Handler.__init__(self)
self.stream = None
else:
stream = self._open()
StreamHandler.__init__(self, stream)
StreamHandler.__init__(self, self._open())
def close(self):
"""
@ -827,8 +828,7 @@ class FileHandler(StreamHandler):
constructor, open it before calling the superclass's emit.
"""
if self.stream is None:
stream = self._open()
StreamHandler.__init__(self, stream)
self.stream = self._open()
StreamHandler.emit(self, record)
#---------------------------------------------------------------------------