summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2013-09-06 09:25:31 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2013-09-06 09:25:31 (GMT)
commit43c6ef189955474001aad75d3b47d895180b2d42 (patch)
tree8cbcf803597698b597036f4b509ac60dc0112f56
parentd859926b298516402a1e8b963cf62e568f0eb848 (diff)
downloadcpython-43c6ef189955474001aad75d3b47d895180b2d42.zip
cpython-43c6ef189955474001aad75d3b47d895180b2d42.tar.gz
cpython-43c6ef189955474001aad75d3b47d895180b2d42.tar.bz2
Issue #18941: Respected delay when doing rollover.
-rw-r--r--Lib/logging/__init__.py5
-rw-r--r--Lib/logging/handlers.py6
2 files changed, 7 insertions, 4 deletions
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index fa03f78..4cef66f 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1,4 +1,4 @@
-# Copyright 2001-2012 by Vinay Sajip. All Rights Reserved.
+# Copyright 2001-2013 by Vinay Sajip. All Rights Reserved.
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted,
@@ -18,7 +18,7 @@
Logging package for Python. Based on PEP 282 and comments thereto in
comp.lang.python.
-Copyright (C) 2001-2012 Vinay Sajip. All Rights Reserved.
+Copyright (C) 2001-2013 Vinay Sajip. All Rights Reserved.
To use, simply 'import logging' and log away!
"""
@@ -957,6 +957,7 @@ class FileHandler(StreamHandler):
self.baseFilename = os.path.abspath(filename)
self.mode = mode
self.encoding = encoding
+ self.delay = delay
if delay:
#We don't open the stream, but we still need to call the
#Handler constructor to set level, formatter, lock etc.
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index f0f634e..ddec7dd 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -174,7 +174,8 @@ class RotatingFileHandler(BaseRotatingHandler):
if os.path.exists(dfn):
os.remove(dfn)
self.rotate(self.baseFilename, dfn)
- self.stream = self._open()
+ if not self.delay:
+ self.stream = self._open()
def shouldRollover(self, record):
"""
@@ -382,7 +383,8 @@ class TimedRotatingFileHandler(BaseRotatingHandler):
if self.backupCount > 0:
for s in self.getFilesToDelete():
os.remove(s)
- self.stream = self._open()
+ if not self.delay:
+ self.stream = self._open()
newRolloverAt = self.computeRollover(currentTime)
while newRolloverAt <= currentTime:
newRolloverAt = newRolloverAt + self.interval