Python TimedrotatingFileHandler überschreibt ProtokollePython

Python-Programme
Guest
 Python TimedrotatingFileHandler überschreibt Protokolle

Post by Guest »

Ich habe TimedrotatingFileHandler < /code> so eingerichtet: < /p>

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()))
Ich habe erwartet, dass jede Minute neue Nachrichten von Protokolls/Protokoll für das aktuelle Datum an die vorhandene Protokolldatei anhängen mussten. Stattdessen überschreibt jede Minute Meldungen von Protokolls/Protokoll vorhandene Protokolldatei für das aktuelle Datum. BR />
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.>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post