summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2009-01-20 23:20:02 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2009-01-20 23:20:02 (GMT)
commit592f5fcb8d1d6f8c495e32ce0eae848c0e866dcd (patch)
tree6ce1085e930d98f2235b4dc267accea0982c8c3c
parent6badbe9f76bc7412a4ec1d50689688acc9abe780 (diff)
downloadcpython-592f5fcb8d1d6f8c495e32ce0eae848c0e866dcd.zip
cpython-592f5fcb8d1d6f8c495e32ce0eae848c0e866dcd.tar.gz
cpython-592f5fcb8d1d6f8c495e32ce0eae848c0e866dcd.tar.bz2
Issue 5013: Fixed bug in FileHandler when delay was set - added fix for RotatingFileHandler and changed header comment slightly.
-rw-r--r--Lib/logging/__init__.py3
-rw-r--r--Lib/logging/handlers.py12
2 files changed, 6 insertions, 9 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 5ba9732..eff0bae 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -18,9 +18,6 @@
Logging package for Python. Based on PEP 282 and comments thereto in
comp.lang.python, and influenced by Apache's log4j system.
-Should work under Python versions >= 1.5.2, except that source line
-information is not available unless 'sys._getframe()' is.
-
Copyright (C) 2001-2009 Vinay Sajip. All Rights Reserved.
To use, simply 'import logging' and log away!
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index 0d347fb..8c00a3d 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -19,12 +19,9 @@ Additional handlers for the logging package for Python. The core package is
based on PEP 282 and comments thereto in comp.lang.python, and influenced by
Apache's log4j system.
-Should work under Python versions >= 1.5.2, except that source line
-information is not available unless 'sys._getframe()' is.
+Copyright (C) 2001-2009 Vinay Sajip. All Rights Reserved.
-Copyright (C) 2001-2008 Vinay Sajip. All Rights Reserved.
-
-To use, simply 'import logging' and log away!
+To use, simply 'import logging.handlers' and log away!
"""
import logging, socket, types, os, string, cPickle, struct, time, re
@@ -141,6 +138,8 @@ class RotatingFileHandler(BaseRotatingHandler):
Basically, see if the supplied record would cause the file to exceed
the size limit we have.
"""
+ if self.stream is None: # delay was set...
+ self.stream = self._open()
if self.maxBytes > 0: # are we rolling over?
msg = "%s\n" % self.format(record)
self.stream.seek(0, 2) #due to non-posix-compliant Windows feature
@@ -305,7 +304,8 @@ class TimedRotatingFileHandler(BaseRotatingHandler):
then we have to get a list of matching filenames, sort them and remove
the one with the oldest suffix.
"""
- self.stream.close()
+ if self.stream:
+ self.stream.close()
# get the time that this sequence started at and make it a TimeTuple
t = self.rolloverAt - self.interval
if self.utc: