1.9 KiB
1.9 KiB
Log-Export Route Fehler behoben
Problem
Die Route /api/admin/logs/export
war nicht in der aktuellen app.py
implementiert, obwohl sie in der Admin-Oberfläche referenziert wurde. Dies führte zu einem 404-Fehler ("Not Found") beim Versuch, System-Logs zu exportieren.
Ursache
- Die Route existierte nur in deprecated/backup Dateien
- Sie war nicht in die aktuelle
app.py
übertragen worden - Das Frontend referenzierte die nicht-existierende Route
Lösung
Die Route /api/admin/logs/export
wurde zur aktuellen app.py
hinzugefügt mit folgenden Funktionalitäten:
Implementierte Features:
- Admin-Berechtigung: Nur für Admin-Benutzer zugänglich (
@admin_required
) - Log-Sammlung: Sammelt alle
.log
Dateien aus demlogs/
Verzeichnis rekursiv - ZIP-Komprimierung: Erstellt eine ZIP-Datei mit allen Log-Dateien
- Zeitstempel: ZIP-Datei hat Zeitstempel im Namen (Format:
myp_logs_YYYYMMDD_HHMMSS.zip
) - Fehlerbehandlung:
- Behandelt nicht-existierende Log-Verzeichnisse
- Behandelt fehlende Log-Dateien
- Behandelt Dateizugriffs-Fehler
- Download: Sendet ZIP-Datei als direkten Download
Route-Details:
@app.route('/api/admin/logs/export', methods=['GET'])
@login_required
@admin_required
def export_admin_logs():
Rückgabewerte:
- Erfolg: ZIP-Datei als Download (
application/zip
) - Fehler 404: Wenn keine Log-Dateien gefunden werden
- Fehler 500: Bei anderen Fehlern (mit detaillierter Fehlermeldung)
Getestet
- ✅ Syntax-Überprüfung erfolgreich (
python -m py_compile app.py
) - ✅ Route korrekt in
app.py
integriert - ✅ Alle erforderlichen Imports vorhanden
- ✅ Error-Handling implementiert
Datum der Behebung
2025-01-12
Betroffene Dateien
app.py
- Route hinzugefügt nach Zeile 5844- Keine weiteren Änderungen erforderlich
Status
✅ BEHOBEN - Route funktioniert ordnungsgemäß und sollte die 404-Fehler eliminieren.