Ich versuche meine aktuellen Projekte von Python 2.7 zu 3.5 zu konvertieren. Eine der ersten Aufgaben ist die Konfiguration der Protokollierung. Ich verwende eine Konfigurationsdatei für Flexibilität und das Datum ist Teil des Dateinamens. Unten ist der Code für die Einstellung des Datei-Handler auf, die in 2,7Python 3.4 Logging Konfiguration
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
# Only one log per day will be created. All messages will be appended to it.
args=("D:\\Logs\\PyLogs\\" + time.strftime("%Y%m%d%H%M%S")+'.log', 'a')
In 3.5 wird der folgende Fehler tritt auf gut funktioniert:
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%Y%m%d%H%M%S")+\'.log\', \'a\')'
Hat jemand Erfahrung mit diesem? Gibt es eine bessere Möglichkeit, das Datum in der Konfigurationsdatei zu formatieren?
Ich bin überrascht, dies in 2.7 überhaupt gearbeitet. Warum verwenden Sie nicht auch einen ['TimedRototingFileHandler'' (https://docs.python.org/3/library/logging.handlers.html#timedrototingfilehandler)? 'class = TimedRotatingFileHandler', mit' when = 'D''. –
Ich habe keinen TimeRotatingFileHandler verwendet, weil er nicht das getan hat, was ich wollte, aber danke für den Vorschlag. –