Code: Select all
import logging as logging
from logging.handlers import TimedRotatingFileHandler
import os
import time
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)
# new file every minute
rotation_logging_handler = TimedRotatingFileHandler('logs/log',
when='m',
interval=1,
backupCount=5)
rotation_logging_handler.setLevel(logging.DEBUG)
format = u'%(asctime)s\t%(levelname)s\t%(filename)s:%(lineno)d\t%(message)s'
rotation_logging_handler.setFormatter(logging.Formatter(format))
rotation_logging_handler.suffix = '%Y-%m-%d'
logger.addHandler(rotation_logging_handler)
< /code>
Verwendung: < /p>
logger.logging.info('Service started at port %s', config.get_param('port'))
while True:
time.sleep(21)
logger.logging.info('Now time is {}'.format(time.time()))
PS: Nach kleinen Untersuchungen fand ich, dass TimedRotatingFileHandler < /code> in der Dorollover < /code> -Methode die vorhandene Protokolldatei löscht und neue Datei erstellt. Die erste Lösung besteht also darin, einen neuen Handler zu erstellen, der von TimedRotatingFileHandler
abgeleitet wurde, wodurch eine neue Datei (z.>