Der Speicherort des Protokolls ist immer in %user %\ appdata \ local \ temp \ sony_folder \ logs \ app. Datei, Anmelden kein Problem. In diesem Fall muss es das Datum anhängen und eine neue Protokolldatei erstellen. Der korrekte Vorgang wäre also:
- app.log Änderungsdatum
- Letztes Datum ist ein Tag alt, Umbename app.log bis app.log. 3/4/2025)
- Neue App.log Datei erstellen und startet dort die Protokollierung
PermissionError: [WinError32] The process cannot access the file because it is being used by another process"
'C:\\Users\SOME_USER\AppData\Local\Temp\SOME_FOLDER\logs\app.log' -> 'C:\\Users\SOME_USER\AppData\Local\Temp\SOME_FOLDER\logs\app.log.2025-03-03'
< /code>
Ich habe Probleme, zu verstehen, wo ich dies beheben muss oder wie man es untersucht. Es speichert alle seine Anforderungen in einem TEMP -Ordner und entfernt den Temp -Ordner nach Abschluss der Ausführung. Warum sollte dies nicht die verwendete Protokolldatei veröffentlichen? Ich würde denken, dass der Prozess sofort veröffentlicht wird.
logger = logging.getLogger(name)
logger.setLevel(logging.DEBUG)
path = pathlib.Path.home() / filename
file_handler = logging.handlers.TimedRotatingFileHandler(path, when="midnight", interval=1, backupCount=7)
file_handler.setLevel(logging.DEBUG)
file_handler.setFormatter(logging.Formatter(LOG_FORMATTER))
logger.addHandler(file_handler)
< /code>
Ich erstelle beispielsweise eine Protokolldatei in Dokumentenordner. Dann führe ich diesen Befehl aus, um das Änderungsdatum zu ändern, sodass sie so angezeigt wird, dass die Datei seit gestern nicht berührt wurde.import os
import time
file_path = "C:\\path\\to\\your\\file.txt"
# Set the modification time to a specific timestamp (e.g., Jan 1, 2024, at 12:00 PM)
new_mtime = time.mktime((2025, 3, 3, 12, 0, 0, 0, 0, 0))
# Update the modification time (keep access time unchanged)
os.utime(file_path, (os.stat(file_path).st_atime, new_mtime))
print("Modification time updated successfully!")
< /code>
Sobald die Datei so aktualisiert ist, dass sie gestern geschrieben wurde. Ich habe meinen Code mit dem Logger wiederholt und es wird die alte Datei erfolgreich umgebracht und ein neues Protokoll erstellt. Unnötig zu erwähnen, das ist nicht das, was in meiner CLI -Anwendung passiert