2016-04-05 11 views
1

Ich bin auf der Suche nach einer Methode, mit der ich die Protokolle um Mitternacht drehen kann, anstatt sie mit dem maxBytes Parameter zu drehen.Rotierende Protokolle mit RotatingFileHandler nach Datum in Python

Bisher werden die Protokolle gedreht, wenn eine Datei 10 MB erreicht.

LOG_PATH = os.path.join(APPLICATION_PATH, "log\\My_log.log") 

my_handler = RotatingFileHandler(LOG_PATH, mode='a', maxBytes=10000000, backupCount=20) 
logger.addHandler(my_handler) 

Gibt es eine Möglichkeit, einen date Parameter RotatingFileHandler() zugeben, so dass anstelle von rotierenden, nachdem die Datei 10 MB erreicht, liefert er die Datei um Mitternacht drehen?

Antwort

2

Verwendung TimedRotatingFileHandler:

my_handler = TimedRotatingFileHandler(LOG_PATH, when='midnight', backupCount=20) 
+0

Danke, ich denke, das tun ^^. Wissen Sie, wie kann ich die Datei nach der Rotation in einen anderen Pfad kopieren? –

+0

Möchten Sie das Verzeichnis ändern oder einfach ein Suffix zu einem Dateinamen hinzufügen, z. Datum enthalten? – apr

+0

Was ich will ist: nachdem die Datei 'um Mitternacht' gedreht wurde, um sie vom aktuellen Pfad zu einem anderen Pfad zu verschieben –