mirror of
https://github.com/python/cpython.git
synced 2025-11-25 04:34:37 +00:00
Added optional delay argument to FileHandler and subclasses.
This commit is contained in:
parent
7b7ce7854c
commit
97ef165a1d
1 changed files with 20 additions and 5 deletions
|
|
@ -41,8 +41,8 @@ except ImportError:
|
|||
|
||||
__author__ = "Vinay Sajip <vinay_sajip@red-dove.com>"
|
||||
__status__ = "production"
|
||||
__version__ = "0.5.0.4"
|
||||
__date__ = "18 January 2008"
|
||||
__version__ = "0.5.0.5"
|
||||
__date__ = "24 January 2008"
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Miscellaneous module data
|
||||
|
|
@ -763,7 +763,7 @@ class FileHandler(StreamHandler):
|
|||
"""
|
||||
A handler class which writes formatted logging records to disk files.
|
||||
"""
|
||||
def __init__(self, filename, mode='a', encoding=None):
|
||||
def __init__(self, filename, mode='a', encoding=None, delay=0):
|
||||
"""
|
||||
Open the specified file and use it as the stream for logging.
|
||||
"""
|
||||
|
|
@ -774,8 +774,11 @@ class FileHandler(StreamHandler):
|
|||
self.baseFilename = os.path.abspath(filename)
|
||||
self.mode = mode
|
||||
self.encoding = encoding
|
||||
stream = self._open()
|
||||
StreamHandler.__init__(self, stream)
|
||||
if delay:
|
||||
self.stream = None
|
||||
else:
|
||||
stream = self._open()
|
||||
StreamHandler.__init__(self, stream)
|
||||
|
||||
def close(self):
|
||||
"""
|
||||
|
|
@ -798,6 +801,18 @@ class FileHandler(StreamHandler):
|
|||
stream = codecs.open(self.baseFilename, self.mode, self.encoding)
|
||||
return stream
|
||||
|
||||
def emit(self, record):
|
||||
"""
|
||||
Emit a record.
|
||||
|
||||
If the stream was not opened because 'delay' was specified in the
|
||||
constructor, open it before calling the superclass's emit.
|
||||
"""
|
||||
if self.stream is None:
|
||||
stream = self._open()
|
||||
StreamHandler.__init__(self, stream)
|
||||
StreamHandler.emit(self, record)
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Manager classes and functions
|
||||
#---------------------------------------------------------------------------
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue