summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2009-01-20 22:49:13 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2009-01-20 22:49:13 (GMT)
commit6badbe9f76bc7412a4ec1d50689688acc9abe780 (patch)
tree0d5d7e321bc6048ef019478d1eae77f04c551c4b
parent29d93816259cb5606a9a749a965e1e9862b3a4f5 (diff)
downloadcpython-6badbe9f76bc7412a4ec1d50689688acc9abe780.zip
cpython-6badbe9f76bc7412a4ec1d50689688acc9abe780.tar.gz
cpython-6badbe9f76bc7412a4ec1d50689688acc9abe780.tar.bz2
Issue 5013: Fixed bug in FileHandler when delay was set.
-rw-r--r--Lib/logging/__init__.py14
-rw-r--r--Misc/NEWS13
2 files changed, 15 insertions, 12 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 6776500..5ba9732 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -21,7 +21,7 @@ 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-2008 Vinay Sajip. All Rights Reserved.
+Copyright (C) 2001-2009 Vinay Sajip. All Rights Reserved.
To use, simply 'import logging' and log away!
"""
@@ -47,7 +47,7 @@ except ImportError:
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
__status__ = "production"
__version__ = "0.5.0.5"
-__date__ = "24 January 2008"
+__date__ = "20 January 2009"
#---------------------------------------------------------------------------
# Miscellaneous module data
@@ -730,7 +730,6 @@ class StreamHandler(Handler):
if strm is None:
strm = sys.stderr
self.stream = strm
- self.formatter = None
def flush(self):
"""
@@ -785,10 +784,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):
"""
@@ -820,8 +821,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)
#---------------------------------------------------------------------------
diff --git a/Misc/NEWS b/Misc/NEWS
index ca72fcf..30c3a0f 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,9 @@ What's New in Python 2.6.2
Core and Builtins
-----------------
+- Issue #5013: Fixed a bug in FileHandler which occurred when the delay
+ parameter was set.
+
- Issue #4935: The overflow checking code in the expandtabs() method common
to str, bytes and bytearray could be optimized away by the compiler, letting
the interpreter segfault instead of raising an error.
@@ -59,7 +62,7 @@ Core and Builtins
- Issue #4589: Fixed exception handling when the __exit__ function of a
context manager returns a value that cannot be converted to a bool.
-- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
+- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
method on file objects with closefd=False. The file descriptor is still
kept open but the file object behaves like a closed file. The ``FileIO``
object also got a new readonly attribute ``closefd``.
@@ -182,7 +185,7 @@ Library
- Restore Python 2.3 compatibility for decimal.py.
-- Issue #1702551: distutils sdist was not excluding VCS directories under
+- Issue #1702551: distutils sdist was not excluding VCS directories under
Windows. Inital solution by Guy Dalberto.
- Issue #4812: add missing underscore prefix to some internal-use-only
@@ -191,8 +194,8 @@ Library
- Issue #4795: inspect.isgeneratorfunction() returns False instead of None when
the function is not a generator.
-- Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case
- no MSVC compiler is found under Windows. Original patch by Philip Jenvey.
+- Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case
+ no MSVC compiler is found under Windows. Original patch by Philip Jenvey.
- Issue #4739: Add pydoc help topics for symbols, so that e.g. help('@')
works as expected in the interactive environment.
@@ -200,7 +203,7 @@ Library
- Issue #4756: zipfile.is_zipfile() now supports file-like objects. Patch by
Gabriel Genellina.
-- Issue #4646: distutils was choking on empty options arg in the setup
+- Issue #4646: distutils was choking on empty options arg in the setup
function. Original patch by Thomas Heller.
- Issue #4400: .pypirc default generated file was broken in distutils.