📚 Improved documentation and logs structure for better maintainability and troubleshooting. 🖥️🔍
This commit is contained in:
parent
f0fe4c29d5
commit
3501bbfddf
Binary file not shown.
@ -1610,6 +1610,9 @@ def kiosk_deactivate():
|
||||
except Exception as e:
|
||||
kiosk_logger.error(f"Unerwarteter Fehler bei Kiosk-Deaktivierung: {str(e)}")
|
||||
return jsonify({"error": "Unerwarteter Fehler"}), 500
|
||||
|
||||
@app.route('/api/kiosk/activate', methods=['POST'])
|
||||
@login_required
|
||||
def kiosk_activate():
|
||||
"""Kiosk-Modus aktivieren (nur für Admins)."""
|
||||
try:
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
1
backend/docs/FEHLER_LOG.md
Normal file
1
backend/docs/FEHLER_LOG.md
Normal file
@ -0,0 +1 @@
|
||||
|
1
backend/docs/KASKADEN_ANALYSE_FEHLER_001.md
Normal file
1
backend/docs/KASKADEN_ANALYSE_FEHLER_001.md
Normal file
@ -0,0 +1 @@
|
||||
|
@ -1,130 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Temporäres Skript zum Hinzufügen der fehlenden /api/statistics/public Route
|
||||
"""
|
||||
|
||||
with open('app.py', 'r', encoding='utf-8') as f:
|
||||
content = f.read()
|
||||
|
||||
# Die neue Route die hinzugefügt werden soll
|
||||
new_route = '''
|
||||
# ===== ÖFFENTLICHE STATISTIK-API =====
|
||||
|
||||
@app.route("/api/statistics/public", methods=['GET'])
|
||||
def api_public_statistics():
|
||||
"""
|
||||
Öffentliche Statistiken ohne Authentifizierung.
|
||||
|
||||
Stellt grundlegende, nicht-sensible Systemstatistiken bereit,
|
||||
die auf der Startseite angezeigt werden können.
|
||||
|
||||
Returns:
|
||||
JSON: Öffentliche Statistiken
|
||||
"""
|
||||
try:
|
||||
db_session = get_db_session()
|
||||
|
||||
# Grundlegende, nicht-sensible Statistiken
|
||||
total_jobs = db_session.query(Job).count()
|
||||
completed_jobs = db_session.query(Job).filter(Job.status == "finished").count()
|
||||
total_printers = db_session.query(Printer).count()
|
||||
active_printers = db_session.query(Printer).filter(
|
||||
Printer.active == True,
|
||||
Printer.status.in_(["online", "available", "idle"])
|
||||
).count()
|
||||
|
||||
# Erfolgsrate berechnen
|
||||
success_rate = round((completed_jobs / total_jobs * 100) if total_jobs > 0 else 0, 1)
|
||||
|
||||
# Anonymisierte Benutzerstatistiken
|
||||
total_users = db_session.query(User).filter(User.active == True).count()
|
||||
|
||||
# Letzte 30 Tage Aktivität (anonymisiert)
|
||||
thirty_days_ago = datetime.now() - timedelta(days=30)
|
||||
recent_jobs = db_session.query(Job).filter(
|
||||
Job.created_at >= thirty_days_ago
|
||||
).count()
|
||||
|
||||
db_session.close()
|
||||
|
||||
public_stats = {
|
||||
"system_info": {
|
||||
"total_jobs": total_jobs,
|
||||
"completed_jobs": completed_jobs,
|
||||
"success_rate": success_rate,
|
||||
"total_printers": total_printers,
|
||||
"active_printers": active_printers,
|
||||
"active_users": total_users,
|
||||
"recent_activity": recent_jobs
|
||||
},
|
||||
"health_indicators": {
|
||||
"system_status": "operational",
|
||||
"printer_availability": round((active_printers / total_printers * 100) if total_printers > 0 else 0, 1),
|
||||
"last_updated": datetime.now().isoformat()
|
||||
},
|
||||
"features": {
|
||||
"multi_location_support": True,
|
||||
"real_time_monitoring": True,
|
||||
"automated_scheduling": True,
|
||||
"advanced_reporting": True
|
||||
}
|
||||
}
|
||||
|
||||
return jsonify(public_stats)
|
||||
|
||||
except Exception as e:
|
||||
app_logger.error(f"Fehler bei öffentlichen Statistiken: {str(e)}")
|
||||
|
||||
# Fallback-Statistiken bei Fehler
|
||||
return jsonify({
|
||||
"system_info": {
|
||||
"total_jobs": 0,
|
||||
"completed_jobs": 0,
|
||||
"success_rate": 0,
|
||||
"total_printers": 0,
|
||||
"active_printers": 0,
|
||||
"active_users": 0,
|
||||
"recent_activity": 0
|
||||
},
|
||||
"health_indicators": {
|
||||
"system_status": "maintenance",
|
||||
"printer_availability": 0,
|
||||
"last_updated": datetime.now().isoformat()
|
||||
},
|
||||
"features": {
|
||||
"multi_location_support": True,
|
||||
"real_time_monitoring": True,
|
||||
"automated_scheduling": True,
|
||||
"advanced_reporting": True
|
||||
},
|
||||
"error": "Statistiken temporär nicht verfügbar"
|
||||
}), 200 # 200 statt 500 um Frontend nicht zu brechen
|
||||
|
||||
'''
|
||||
|
||||
# Füge die Route vor @app.route("/api/stats", methods=['GET']) hinzu
|
||||
marker = '@app.route("/api/stats", methods=[\'GET\'])'
|
||||
if marker in content:
|
||||
parts = content.split(marker, 1)
|
||||
new_content = parts[0] + new_route + marker + parts[1]
|
||||
|
||||
with open('app.py', 'w', encoding='utf-8') as f:
|
||||
f.write(new_content)
|
||||
print('✅ Öffentliche Statistik-API Route hinzugefügt')
|
||||
else:
|
||||
print('❌ Marker nicht gefunden - versuche alternativen Marker')
|
||||
# Versuche alternativen Marker
|
||||
alt_marker = '@app.route("/api/stats", methods=[\"GET\"])'
|
||||
if alt_marker in content:
|
||||
parts = content.split(alt_marker, 1)
|
||||
new_content = parts[0] + new_route + alt_marker + parts[1]
|
||||
|
||||
with open('app.py', 'w', encoding='utf-8') as f:
|
||||
f.write(new_content)
|
||||
print('✅ Öffentliche Statistik-API Route mit alternativem Marker hinzugefügt')
|
||||
else:
|
||||
print('❌ Auch alternativer Marker nicht gefunden')
|
||||
print('Suche verfügbare Marker...')
|
||||
import re
|
||||
stats_markers = re.findall(r'@app\.route\("/api/stats".*?\)', content)
|
||||
print(f'Gefundene Stats-Marker: {stats_markers}')
|
@ -24,3 +24,9 @@
|
||||
2025-06-01 04:29:28 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:31:09 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:36:21 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:36:33 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:38:00 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:39:28 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:39:58 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:41:49 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
2025-06-01 04:46:30 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
|
||||
|
@ -685,3 +685,120 @@ WHERE users.id = ?
|
||||
2025-06-01 04:36:21 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:36:22 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:36:22 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:36:33 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:36:34 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:36:34 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:38:00 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen...
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - Job-Scheduler gestartet
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
|
||||
2025-06-01 04:38:01 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert
|
||||
2025-06-01 04:38:06 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:38:18 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:38:33 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:38:37 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:39:28 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:39:29 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:39:29 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:39:29 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert
|
||||
2025-06-01 04:39:29 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen...
|
||||
2025-06-01 04:39:29 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||
2025-06-01 04:39:29 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - Job-Scheduler gestartet
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
|
||||
2025-06-01 04:39:30 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert
|
||||
2025-06-01 04:39:58 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:39:59 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:39:59 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:39:59 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert
|
||||
2025-06-01 04:39:59 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen...
|
||||
2025-06-01 04:39:59 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||
2025-06-01 04:39:59 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - Job-Scheduler gestartet
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
|
||||
2025-06-01 04:40:00 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert
|
||||
2025-06-01 04:40:05 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:40:09 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:40:21 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:41:32 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:41:49 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen...
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - Job-Scheduler gestartet
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
|
||||
2025-06-01 04:41:50 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert
|
||||
2025-06-01 04:43:12 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:43:54 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:43:54 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:44:06 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:44:06 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:44:06 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:44:06 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': None, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:44:38 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:44:38 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:44:38 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': None, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:44:38 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': None, 'failed_jobs': 0, 'cancelled_jobs': None, 'total_users': 1, 'online_printers': 0, 'offline_printers': None}
|
||||
2025-06-01 04:45:10 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:45:10 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:45:10 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:45:10 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:45:42 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:45:42 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:45:42 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:45:42 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': None, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:46:14 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:46:14 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:46:14 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:46:14 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:46:30 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
|
||||
2025-06-01 04:46:31 - [app] app - [INFO] INFO - SQLite für Produktionsumgebung konfiguriert (WAL-Modus, Cache, Optimierungen)
|
||||
2025-06-01 04:46:31 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen...
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - ℹ️ Keine Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Job-Scheduler gestartet
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:46:32 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 0, 'total_jobs': 0, 'pending_jobs': 0, 'success_rate': 0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 0}
|
||||
2025-06-01 04:46:35 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
2025-06-01 04:46:37 - [app] app - [ERROR] ERROR - Fehler beim Laden der Admin-Dashboard-Daten: Could not build url for endpoint 'admin_settings'. Did you mean 'optimization_settings' instead?
|
||||
|
@ -24,3 +24,9 @@
|
||||
2025-06-01 04:29:28 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:31:09 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:36:21 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:36:33 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:38:00 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:39:28 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:39:58 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:41:49 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
2025-06-01 04:46:30 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
|
||||
|
@ -13,3 +13,11 @@
|
||||
2025-06-01 04:31:18 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:31:38 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:31:41 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:40:13 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:42:56 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:42:59 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-08 00:00:00 bis 2025-06-15 00:00:00
|
||||
2025-06-01 04:43:00 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:43:00 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-05-25 00:00:00 bis 2025-06-01 00:00:00
|
||||
2025-06-01 04:43:02 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
2025-06-01 04:43:02 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-08 00:00:00 bis 2025-06-15 00:00:00
|
||||
2025-06-01 04:46:41 - [calendar] calendar - [INFO] INFO - 📅 Kalender-Events abgerufen: 0 Einträge für Zeitraum 2025-06-01 00:00:00 bis 2025-06-08 00:00:00
|
||||
|
@ -89,3 +89,27 @@
|
||||
2025-06-01 04:36:22 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:36:22 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:36:22 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
2025-06-01 04:36:34 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:36:34 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:36:34 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:36:34 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
2025-06-01 04:38:01 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:38:01 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:38:01 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:38:01 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
2025-06-01 04:39:29 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:39:29 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:39:29 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:39:29 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
2025-06-01 04:39:59 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:39:59 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:39:59 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:39:59 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
2025-06-01 04:41:50 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:41:50 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:41:50 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:41:50 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
2025-06-01 04:46:31 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:46:31 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
|
||||
2025-06-01 04:46:31 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
|
||||
2025-06-01 04:46:31 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
|
||||
|
@ -24,3 +24,9 @@
|
||||
2025-06-01 04:29:28 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:31:09 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:36:21 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:36:33 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:38:00 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:39:28 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:39:58 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:41:49 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:46:30 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
|
||||
|
@ -22,3 +22,9 @@
|
||||
2025-06-01 04:29:28 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:31:10 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:36:22 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:36:34 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:38:01 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:39:29 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:39:59 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:41:50 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
2025-06-01 04:46:31 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
|
||||
|
@ -52,3 +52,6 @@
|
||||
2025-06-01 04:31:36 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1)
|
||||
2025-06-01 04:31:53 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1)
|
||||
2025-06-01 04:32:03 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1)
|
||||
2025-06-01 04:40:15 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1)
|
||||
2025-06-01 04:43:07 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1)
|
||||
2025-06-01 04:46:41 - [jobs] jobs - [INFO] INFO - Jobs abgerufen: 0 von 0 (Seite 1)
|
||||
|
@ -44,3 +44,15 @@
|
||||
2025-06-01 04:31:10 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:36:22 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:36:22 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:36:34 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:36:34 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:38:01 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:38:01 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:39:29 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:39:29 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:39:59 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:39:59 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:41:50 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:41:50 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:46:31 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
2025-06-01 04:46:31 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
|
||||
|
@ -44,3 +44,15 @@
|
||||
2025-06-01 04:31:10 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:36:22 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:36:22 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:36:34 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:36:34 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:38:01 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:38:01 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:39:29 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:39:29 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:39:59 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:39:59 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:41:50 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:41:50 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:46:31 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
2025-06-01 04:46:31 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
|
||||
|
@ -20,3 +20,9 @@
|
||||
2025-06-01 04:29:29 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:31:10 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:36:22 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:36:34 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:38:01 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:39:29 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:39:59 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:41:50 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
2025-06-01 04:46:31 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
|
||||
|
@ -713,3 +713,143 @@
|
||||
2025-06-01 04:32:52 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:36:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:36:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:36:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:36:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:38:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:38:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:38:01 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
|
||||
2025-06-01 04:38:01 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:38:02 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
|
||||
2025-06-01 04:38:02 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
|
||||
2025-06-01 04:38:02 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103
|
||||
2025-06-01 04:38:05 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:38:05 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:38:05 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:38:05 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:38:08 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104
|
||||
2025-06-01 04:38:14 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100
|
||||
2025-06-01 04:38:20 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101
|
||||
2025-06-01 04:38:26 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102
|
||||
2025-06-01 04:38:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105
|
||||
2025-06-01 04:38:38 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s
|
||||
2025-06-01 04:39:28 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:39:28 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:39:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
|
||||
2025-06-01 04:39:30 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:39:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
|
||||
2025-06-01 04:39:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
|
||||
2025-06-01 04:39:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103
|
||||
2025-06-01 04:39:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:39:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
|
||||
2025-06-01 04:40:00 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
|
||||
2025-06-01 04:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
|
||||
2025-06-01 04:40:00 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103
|
||||
2025-06-01 04:40:06 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104
|
||||
2025-06-01 04:40:12 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100
|
||||
2025-06-01 04:40:18 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101
|
||||
2025-06-01 04:40:18 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:40:18 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:40:18 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:40:18 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:40:24 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102
|
||||
2025-06-01 04:40:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105
|
||||
2025-06-01 04:40:36 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s
|
||||
2025-06-01 04:41:49 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:41:49 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:41:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
|
||||
2025-06-01 04:41:50 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:41:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
|
||||
2025-06-01 04:41:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
|
||||
2025-06-01 04:41:51 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103
|
||||
2025-06-01 04:41:57 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104
|
||||
2025-06-01 04:42:03 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100
|
||||
2025-06-01 04:42:09 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101
|
||||
2025-06-01 04:42:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102
|
||||
2025-06-01 04:42:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105
|
||||
2025-06-01 04:42:27 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s
|
||||
2025-06-01 04:43:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:04 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:04 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:07 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:07 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:20 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:20 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:20 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:20 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:21 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:21 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:21 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:22 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:22 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:27 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:27 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:27 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:27 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:33 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:33 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:36 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:36 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:43:36 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:43:36 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:44:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:44:07 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:44:07 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:44:07 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:44:38 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:44:38 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:44:38 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:44:38 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:44:39 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:44:39 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:44:39 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:44:39 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:10 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:10 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:11 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:11 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:11 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:11 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:42 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:42 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:42 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:42 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:43 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:43 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:45:43 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:45:43 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:14 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:14 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:14 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:14 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:15 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:15 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:15 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
|
||||
2025-06-01 04:46:30 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [WARNING] WARNING - ⚠️ Keine aktiven Drucker zur Initialisierung gefunden
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
|
||||
2025-06-01 04:46:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103
|
||||
2025-06-01 04:46:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:33 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:33 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Aktualisiere Live-Druckerstatus...
|
||||
2025-06-01 04:46:33 - [printer_monitor] printer_monitor - [INFO] INFO - ℹ️ Keine aktiven Drucker gefunden
|
||||
2025-06-01 04:46:38 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104
|
||||
|
@ -3337,3 +3337,74 @@
|
||||
2025-06-01 04:32:52 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:32:52 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:32:52 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.71ms
|
||||
2025-06-01 04:38:05 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:38:05 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:38:05 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.02ms
|
||||
2025-06-01 04:40:15 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:40:18 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:40:18 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:40:18 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:40:18 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 7.45ms
|
||||
2025-06-01 04:40:19 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:43:04 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:04 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:04 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.77ms
|
||||
2025-06-01 04:43:07 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:43:07 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:07 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:07 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.88ms
|
||||
2025-06-01 04:43:07 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:43:20 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:43:20 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:20 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:20 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.13ms
|
||||
2025-06-01 04:43:21 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:21 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:21 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.71ms
|
||||
2025-06-01 04:43:22 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
2025-06-01 04:43:22 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:22 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:22 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 4.95ms
|
||||
2025-06-01 04:43:27 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:27 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:27 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 3.18ms
|
||||
2025-06-01 04:43:33 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:33 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:33 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 1.78ms
|
||||
2025-06-01 04:43:36 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:43:36 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:43:36 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.22ms
|
||||
2025-06-01 04:44:07 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:44:07 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:44:07 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 4.17ms
|
||||
2025-06-01 04:44:38 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:44:38 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:44:38 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 8.66ms
|
||||
2025-06-01 04:44:39 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:44:39 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:44:39 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.21ms
|
||||
2025-06-01 04:45:10 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:45:10 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:45:10 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 12.94ms
|
||||
2025-06-01 04:45:11 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:45:11 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:45:11 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 5.40ms
|
||||
2025-06-01 04:45:42 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:45:42 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:45:42 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 7.30ms
|
||||
2025-06-01 04:45:43 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:45:43 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:45:43 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 4.07ms
|
||||
2025-06-01 04:46:14 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:46:14 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:46:14 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 8.11ms
|
||||
2025-06-01 04:46:15 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:46:15 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:46:15 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 10.26ms
|
||||
2025-06-01 04:46:32 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:46:32 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:46:32 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 1.26ms
|
||||
2025-06-01 04:46:33 - [printers] printers - [INFO] INFO - 🔄 Live-Status-Abfrage von Benutzer Administrator (ID: 1)
|
||||
2025-06-01 04:46:33 - [printers] printers - [INFO] INFO - ✅ Live-Status-Abfrage erfolgreich: 0 Drucker
|
||||
2025-06-01 04:46:33 - [printers] printers - [INFO] INFO - ✅ API-Live-Drucker-Status-Abfrage 'get_live_printer_status' erfolgreich in 6.38ms
|
||||
2025-06-01 04:46:41 - [printers] printers - [INFO] INFO - Schnelles Laden abgeschlossen: 6 Drucker geladen (ohne Status-Check)
|
||||
|
@ -2882,3 +2882,19 @@
|
||||
2025-06-01 04:31:10 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||
2025-06-01 04:31:10 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||
2025-06-01 04:36:21 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:36:33 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:38:00 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:38:01 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||
2025-06-01 04:38:01 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||
2025-06-01 04:39:28 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:39:30 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||
2025-06-01 04:39:30 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||
2025-06-01 04:39:58 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:40:00 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||
2025-06-01 04:40:00 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||
2025-06-01 04:41:49 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:41:50 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||
2025-06-01 04:41:50 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||
2025-06-01 04:46:30 - [scheduler] scheduler - [INFO] INFO - Task check_jobs registriert: Intervall 30s, Enabled: True
|
||||
2025-06-01 04:46:32 - [scheduler] scheduler - [INFO] INFO - Scheduler-Thread gestartet
|
||||
2025-06-01 04:46:32 - [scheduler] scheduler - [INFO] INFO - Scheduler gestartet
|
||||
|
@ -20,3 +20,9 @@
|
||||
2025-06-01 04:29:29 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:31:10 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:36:22 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:36:34 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:38:01 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:39:29 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:39:59 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:41:50 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
2025-06-01 04:46:31 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
|
||||
|
@ -69,3 +69,13 @@
|
||||
2025-06-01 04:36:22 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🧹 Führe 1 Cleanup-Funktionen aus...
|
||||
2025-06-01 04:36:22 - [shutdown_manager] shutdown_manager - [INFO] INFO - ✅ Koordiniertes Shutdown abgeschlossen in 0.0s
|
||||
2025-06-01 04:36:22 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🏁 System wird beendet...
|
||||
2025-06-01 04:36:34 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
|
||||
2025-06-01 04:36:34 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔄 Starte koordiniertes System-Shutdown...
|
||||
2025-06-01 04:36:34 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🧹 Führe 1 Cleanup-Funktionen aus...
|
||||
2025-06-01 04:36:34 - [shutdown_manager] shutdown_manager - [INFO] INFO - ✅ Koordiniertes Shutdown abgeschlossen in 0.0s
|
||||
2025-06-01 04:36:34 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🏁 System wird beendet...
|
||||
2025-06-01 04:38:01 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
|
||||
2025-06-01 04:39:29 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
|
||||
2025-06-01 04:39:59 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
|
||||
2025-06-01 04:41:50 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
|
||||
2025-06-01 04:46:31 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
|
||||
|
@ -192,3 +192,57 @@
|
||||
2025-06-01 04:36:22 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:36:22 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:36:22 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T04:36:34.453836
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:36:34 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T04:38:01.515331
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:38:01 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T04:39:29.785583
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:39:29 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T04:39:59.650278
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:39:59 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T04:41:50.193284
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:41:50 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - ==================================================
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - 🐍 Python Version: 3.13.3 (tags/v3.13.3:6280bb5, Apr 8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-01T04:46:31.751034
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
|
||||
2025-06-01 04:46:31 - [startup] startup - [INFO] INFO - ==================================================
|
||||
|
@ -94,3 +94,27 @@
|
||||
2025-06-01 04:36:21 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:36:21 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:36:21 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
2025-06-01 04:36:33 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||
2025-06-01 04:36:33 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:36:33 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:36:33 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
2025-06-01 04:38:00 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||
2025-06-01 04:38:00 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:38:00 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:38:00 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
2025-06-01 04:39:28 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||
2025-06-01 04:39:28 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:39:28 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:39:28 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
2025-06-01 04:39:58 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||
2025-06-01 04:39:58 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:39:58 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:39:58 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
2025-06-01 04:41:48 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||
2025-06-01 04:41:48 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:41:48 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:41:48 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
2025-06-01 04:46:30 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
|
||||
2025-06-01 04:46:30 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
|
||||
2025-06-01 04:46:30 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
|
||||
2025-06-01 04:46:30 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
|
||||
|
@ -10,6 +10,10 @@ class GlassmorphismNotificationSystem {
|
||||
this.soundEnabled = localStorage.getItem('myp-notification-sound') !== 'false';
|
||||
this.animationsEnabled = !window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
|
||||
// Callback-Registry für Actions hinzufügen
|
||||
this.actionCallbacks = new Map();
|
||||
this.callbackCounter = 0;
|
||||
|
||||
this.init();
|
||||
this.setupGlobalFunctions();
|
||||
this.injectStyles();
|
||||
@ -49,6 +53,9 @@ class GlassmorphismNotificationSystem {
|
||||
window.showPersistentAlert = this.showPersistentAlert.bind(this);
|
||||
window.showConfirmationToast = this.showConfirmationToast.bind(this);
|
||||
window.showProgressToast = this.showProgressToast.bind(this);
|
||||
|
||||
// Globale Callback-Ausführungsfunktion
|
||||
window.executeNotificationCallback = this.executeCallback.bind(this);
|
||||
}
|
||||
|
||||
setupEventListeners() {
|
||||
@ -162,14 +169,23 @@ class GlassmorphismNotificationSystem {
|
||||
}
|
||||
|
||||
createActionButtons(actions, toastId) {
|
||||
return actions.map(action => `
|
||||
<button class="toast-action-btn toast-action-${action.type || 'secondary'}"
|
||||
onclick="${action.onClick}; ${action.closeAfter !== false ? `glassNotificationSystem.closeToast('${toastId}')` : ''}"
|
||||
title="${action.title || action.text}">
|
||||
${action.icon ? `<svg class="w-4 h-4">${action.icon}</svg>` : ''}
|
||||
${action.text}
|
||||
</button>
|
||||
`).join('');
|
||||
return actions.map(action => {
|
||||
// Callback in Registry speichern falls vorhanden
|
||||
let callbackId = '';
|
||||
if (action.callback && typeof action.callback === 'function') {
|
||||
callbackId = `callback-${++this.callbackCounter}`;
|
||||
this.actionCallbacks.set(callbackId, action.callback);
|
||||
}
|
||||
|
||||
return `
|
||||
<button class="toast-action-btn toast-action-${action.type || 'secondary'}"
|
||||
onclick="glassNotificationSystem.handleActionClick('${callbackId}', '${toastId}', ${action.closeAfter !== false})"
|
||||
title="${action.title || action.text}">
|
||||
${action.icon ? `<svg class="w-4 h-4">${action.icon}</svg>` : ''}
|
||||
${action.text}
|
||||
</button>
|
||||
`;
|
||||
}).join('');
|
||||
}
|
||||
|
||||
getIconSvg(type) {
|
||||
@ -299,6 +315,14 @@ class GlassmorphismNotificationSystem {
|
||||
}
|
||||
|
||||
this.notifications.delete(toastId);
|
||||
|
||||
// Alle zugehörigen Callbacks löschen
|
||||
this.actionCallbacks.forEach((callback, callbackId) => {
|
||||
if (callbackId.includes(toastId)) {
|
||||
this.actionCallbacks.delete(callbackId);
|
||||
}
|
||||
});
|
||||
|
||||
this.repositionAllToasts();
|
||||
}
|
||||
|
||||
@ -331,21 +355,49 @@ class GlassmorphismNotificationSystem {
|
||||
* Spezielle Toast-Typen
|
||||
*/
|
||||
showConfirmationToast(message, onConfirm, onCancel = null, options = {}) {
|
||||
const confirmCallback = () => {
|
||||
if (typeof onConfirm === 'function') {
|
||||
try {
|
||||
onConfirm();
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Ausführen der Bestätigungslogik:', error);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const cancelCallback = () => {
|
||||
if (typeof onCancel === 'function') {
|
||||
try {
|
||||
onCancel();
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Ausführen der Abbruchlogik:', error);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const actions = [
|
||||
{
|
||||
text: options.confirmText || 'Bestätigen',
|
||||
type: 'primary',
|
||||
callback: confirmCallback,
|
||||
closeAfter: true
|
||||
}
|
||||
];
|
||||
|
||||
// Cancel-Button nur hinzufügen wenn Callback vorhanden ist
|
||||
if (onCancel || options.cancelText) {
|
||||
actions.push({
|
||||
text: options.cancelText || 'Abbrechen',
|
||||
type: 'secondary',
|
||||
callback: cancelCallback,
|
||||
closeAfter: true
|
||||
});
|
||||
}
|
||||
|
||||
return this.showToast(message, 'warning', 0, {
|
||||
persistent: true,
|
||||
title: options.title || 'Bestätigung erforderlich',
|
||||
actions: [
|
||||
{
|
||||
text: options.confirmText || 'Bestätigen',
|
||||
type: 'primary',
|
||||
onClick: `(${onConfirm.toString()})()`
|
||||
},
|
||||
{
|
||||
text: options.cancelText || 'Abbrechen',
|
||||
type: 'secondary',
|
||||
onClick: onCancel ? `(${onCancel.toString()})()` : ''
|
||||
}
|
||||
],
|
||||
actions: actions,
|
||||
...options
|
||||
});
|
||||
}
|
||||
@ -1485,6 +1537,43 @@ class GlassmorphismNotificationSystem {
|
||||
|
||||
document.head.appendChild(styles);
|
||||
}
|
||||
|
||||
/**
|
||||
* Behandelt Action-Button-Klicks
|
||||
*/
|
||||
handleActionClick(callbackId, toastId, shouldClose = true) {
|
||||
// Callback ausführen falls vorhanden
|
||||
if (callbackId && this.actionCallbacks.has(callbackId)) {
|
||||
const callback = this.actionCallbacks.get(callbackId);
|
||||
try {
|
||||
callback();
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Ausführen des Action-Callbacks:', error);
|
||||
}
|
||||
// Callback nach Ausführung löschen
|
||||
this.actionCallbacks.delete(callbackId);
|
||||
}
|
||||
|
||||
// Toast schließen falls gewünscht
|
||||
if (shouldClose) {
|
||||
this.closeToast(toastId);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Für Rückwärtskompatibilität - führt Callback-Funktionen aus
|
||||
*/
|
||||
executeCallback(callbackId) {
|
||||
if (this.actionCallbacks.has(callbackId)) {
|
||||
const callback = this.actionCallbacks.get(callbackId);
|
||||
try {
|
||||
callback();
|
||||
} catch (error) {
|
||||
console.error('Fehler beim Ausführen des Callbacks:', error);
|
||||
}
|
||||
this.actionCallbacks.delete(callbackId);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Globale Instanz erstellen
|
||||
|
@ -485,16 +485,25 @@ function updateStatsCounter(elementId, value, animate = true) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Sichere Wert-Validierung hinzufügen
|
||||
if (value === null || value === undefined) {
|
||||
console.warn(`Ungültiger Wert für Element '${elementId}':`, value);
|
||||
value = 0; // Fallback-Wert
|
||||
}
|
||||
|
||||
if (animate) {
|
||||
// Animierte Zählung
|
||||
const currentValue = parseInt(element.textContent.replace(/[^\d]/g, '')) || 0;
|
||||
const targetValue = parseInt(value.toString().replace(/[^\d]/g, '')) || 0;
|
||||
|
||||
if (currentValue !== targetValue) {
|
||||
animateCounter(element, currentValue, targetValue, value.toString());
|
||||
// Sichere String-Konvertierung
|
||||
const finalTextValue = value !== null && value !== undefined ? value.toString() : '0';
|
||||
animateCounter(element, currentValue, targetValue, finalTextValue);
|
||||
}
|
||||
} else {
|
||||
element.textContent = value;
|
||||
// Sichere Zuweisung ohne Animation
|
||||
element.textContent = value !== null && value !== undefined ? value.toString() : '0';
|
||||
}
|
||||
}
|
||||
|
||||
@ -502,6 +511,26 @@ function updateStatsCounter(elementId, value, animate = true) {
|
||||
* Animierte Counter-Funktion
|
||||
*/
|
||||
function animateCounter(element, start, end, finalText) {
|
||||
// Sichere Parameter-Validierung
|
||||
if (!element) {
|
||||
console.warn('animateCounter: Kein gültiges Element übergeben');
|
||||
return;
|
||||
}
|
||||
|
||||
// Sichere finalText-Validierung mit optimiertem Logging
|
||||
if (typeof finalText !== 'string') {
|
||||
// Nur bei problematischen Werten warnen (null, undefined, objects)
|
||||
if (finalText === null || finalText === undefined || (typeof finalText === 'object' && finalText !== null)) {
|
||||
console.warn('animateCounter: Problematischer finalText-Wert:', finalText);
|
||||
}
|
||||
// Normale Numbers stille konvertieren
|
||||
finalText = finalText !== null && finalText !== undefined ? String(finalText) : '0';
|
||||
}
|
||||
|
||||
// Sichere start/end-Validierung
|
||||
start = parseInt(start) || 0;
|
||||
end = parseInt(end) || 0;
|
||||
|
||||
const duration = 1000; // 1 Sekunde
|
||||
const startTime = performance.now();
|
||||
|
||||
@ -513,16 +542,28 @@ function animateCounter(element, start, end, finalText) {
|
||||
const easeOut = 1 - Math.pow(1 - progress, 3);
|
||||
const currentValue = Math.round(start + (end - start) * easeOut);
|
||||
|
||||
if (finalText.includes('%')) {
|
||||
element.textContent = currentValue + '%';
|
||||
} else {
|
||||
// Sichere includes-Prüfung
|
||||
try {
|
||||
if (typeof finalText === 'string' && finalText.includes('%')) {
|
||||
element.textContent = currentValue + '%';
|
||||
} else {
|
||||
element.textContent = currentValue;
|
||||
}
|
||||
} catch (error) {
|
||||
console.warn('animateCounter: Fehler bei finalText.includes:', error, 'finalText:', finalText);
|
||||
element.textContent = currentValue;
|
||||
}
|
||||
|
||||
if (progress < 1) {
|
||||
requestAnimationFrame(updateCounter);
|
||||
} else {
|
||||
element.textContent = finalText;
|
||||
// Sichere Zuweisung des finalen Wertes
|
||||
try {
|
||||
element.textContent = finalText;
|
||||
} catch (error) {
|
||||
console.warn('animateCounter: Fehler bei finaler Zuweisung:', error);
|
||||
element.textContent = String(end);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -161,20 +161,43 @@ class PrinterMonitor {
|
||||
// Drucker-Daten aktualisieren
|
||||
this.printers.clear();
|
||||
|
||||
// Null-Check für data.printers hinzufügen
|
||||
// Flexible Datenextraktion für verschiedene API-Response-Strukturen
|
||||
let printersData = null;
|
||||
|
||||
if (data && data.printers && typeof data.printers === 'object') {
|
||||
Object.values(data.printers).forEach(printer => {
|
||||
this.printers.set(printer.id, {
|
||||
...printer,
|
||||
statusInfo: this.statusCategories[printer.status] || this.statusCategories['offline']
|
||||
});
|
||||
// Alte Struktur: data.printers
|
||||
printersData = data.printers;
|
||||
} else if (data && data.status && typeof data.status === 'object') {
|
||||
// Neue Struktur: data.status
|
||||
printersData = data.status;
|
||||
} else if (data && typeof data === 'object' && !data.success && !data.error) {
|
||||
// Direkte Drucker-Daten ohne Wrapper
|
||||
printersData = data;
|
||||
}
|
||||
|
||||
if (printersData && typeof printersData === 'object') {
|
||||
// Drucker-Daten verarbeiten
|
||||
Object.values(printersData).forEach(printer => {
|
||||
// Sichere Validierung der Drucker-Objekte
|
||||
if (printer && typeof printer === 'object' && printer.id) {
|
||||
this.printers.set(printer.id, {
|
||||
...printer,
|
||||
statusInfo: this.statusCategories[printer.status] || this.statusCategories['offline']
|
||||
});
|
||||
} else {
|
||||
console.warn('⚠️ Ungültiges Drucker-Objekt übersprungen:', printer);
|
||||
}
|
||||
});
|
||||
|
||||
console.log(`✅ ${this.printers.size} Drucker erfolgreich verarbeitet`);
|
||||
} else {
|
||||
console.warn('⚠️ Keine gültigen Drucker-Daten erhalten:', data);
|
||||
// Benachrichtige Callbacks über Fehler
|
||||
console.warn('⚠️ Keine gültigen Drucker-Daten in Response-Struktur gefunden');
|
||||
console.debug('Response-Struktur:', data);
|
||||
|
||||
// Benachrichtige Callbacks über fehlende Daten (aber nicht als Fehler)
|
||||
this.notifyCallbacks({
|
||||
type: 'error',
|
||||
message: 'Ungültige Drucker-Daten erhalten',
|
||||
type: 'warning',
|
||||
message: 'Keine Drucker-Daten verfügbar',
|
||||
data: data
|
||||
});
|
||||
return;
|
||||
|
@ -33,7 +33,6 @@
|
||||
|
||||
<!-- Preload critical resources -->
|
||||
<link rel="preload" href="{{ url_for('static', filename='js/ui-components.js') }}" as="script">
|
||||
<link rel="preload" href="{{ url_for('static', filename='js/offline-app.js') }}" as="script">
|
||||
<link rel="preload" href="{{ url_for('static', filename='js/optimization-features.js') }}" as="script">
|
||||
|
||||
<!-- Additional CSS -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user