summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Fayolle <alexandre.fayolle@logilab.fr>2010-06-02 16:40:06 +0000
committerAlexandre Fayolle <alexandre.fayolle@logilab.fr>2010-06-02 16:40:06 +0000
commit4abf86900be5062abaec77dc01d101dfe98b718d (patch)
treed386d06208620a65a474663bb53178f5a1de3763
parent1f838bd9a125ad4f868747730a1b01d6561587bd (diff)
downloadlogilab-common-4abf86900be5062abaec77dc01d101dfe98b718d.tar.gz
added new optional kw argument to init_log rotating_parameters
if not None, will use a TimedBaseRotatingHandler instead of a FileHandler
-rw-r--r--logging_ext.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/logging_ext.py b/logging_ext.py
index 71d5f87..e86945b 100644
--- a/logging_ext.py
+++ b/logging_ext.py
@@ -103,7 +103,8 @@ LOG_FORMAT = '%(asctime)s - (%(name)s) %(levelname)s: %(message)s'
LOG_DATE_FORMAT = '%Y-%m-%d %H:%M:%S'
def init_log(debug=False, syslog=False, logthreshold=None, logfile=None,
- logformat=LOG_FORMAT, logdateformat=LOG_DATE_FORMAT):
+ logformat=LOG_FORMAT, logdateformat=LOG_DATE_FORMAT,
+ rotation_parameters=None):
"""init the log service"""
if os.environ.get('APYCOT_ROOT'):
logthreshold = logging.CRITICAL
@@ -120,7 +121,12 @@ def init_log(debug=False, syslog=False, logthreshold=None, logfile=None,
handler = logging.StreamHandler()
else:
try:
- handler = logging.FileHandler(logfile)
+ if rotation_parameters is None:
+ handler = logging.FileHandler(logfile)
+ else:
+ from logging.handlers import TimedRotatingFileHandler
+ handler = TimedRotatingFileHandler(logfile,
+ **rotation_parameters)
except IOError:
handler = logging.StreamHandler()
if logthreshold is None: