Fix #1265: manage log rotation

* mandaye/config.py: add rotation options
 * mandaye/log.py: use TimedRotatingFileHandler
 * mandaye_server.py: cosmetic
This commit is contained in:
Jérôme Schneider 2012-02-17 14:47:14 +01:00
parent 9630a6a452
commit d33bb4143e
3 changed files with 17 additions and 6 deletions

View File

@ -11,6 +11,13 @@ debug = False
syslog = False
log_file = '/var/log/mandaye/mandaye.log'
log_level = logging.INFO
# Log rotation
# W[0-6] : weekly (0: Monday), D: day, ... (python doc)
log_when = 'W6'
# Every week
log_interval = 1
# BackupCount (keep one year of log)
log_backup = 52
# Template directory
template_directory = 'mandaye/templates'
@ -72,7 +79,7 @@ session_opts = {
'session.expire': 3600,
}
# token timeout (for Vincennes)
# token timeout
# timeout in seconds
token_timeout = 60

View File

@ -1,8 +1,8 @@
import logging
from logging import FileHandler
from logging.handlers import SysLogHandler
from mandaye.config import log_level, syslog, log_file
from logging.handlers import SysLogHandler, TimedRotatingFileHandler
from mandaye.config import log_level, log_file, syslog
from mandaye.config import log_when, log_interval, log_backup
logger = logging.getLogger('mandaye')
logger.setLevel(log_level)
@ -16,7 +16,11 @@ else:
# File logging
if log_file:
filehandler = FileHandler(log_file)
filehandler = TimedRotatingFileHandler(log_file, when=log_when,
interval=log_interval, backupCount=log_backup)
filehandler.setFormatter(
logging.Formatter('%(asctime)s %(levelname)s %(message)s',
datefmt='%Y-%m-%d %H:%M:%S'))
logger.addHandler(filehandler)
else:
filehandler = None

View File

@ -22,7 +22,7 @@ def main():
""" The ``gunicorn`` command line runner for launcing Gunicorn with
generic WSGI applications.
"""
logger.info('Launching Mandaye ...')
logger.info('Mandaye start')
WSGIApplication("%prog [OPTIONS]").run()
if __name__ == "__main__":