📚 Improved logging structure across various logs files in the backend. 🖥️🔍

This commit is contained in:
Till Tomczak 2025-06-03 13:20:36 +02:00
parent 03ad8f275d
commit b29219ce4c
23 changed files with 274 additions and 14 deletions

BIN
backend/database/myp.db-shm Normal file

Binary file not shown.

BIN
backend/database/myp.db-wal Normal file

Binary file not shown.

View File

@ -116,3 +116,4 @@
2025-06-02 14:51:08 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
2025-06-02 15:18:14 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
2025-06-02 15:29:06 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert
2025-06-03 13:18:50 - [analytics] analytics - [INFO] INFO - 📈 Analytics Engine initialisiert

View File

@ -3057,3 +3057,24 @@ WHERE jobs.status = ?) AS anon_1]
2025-06-02 15:31:02 - [app] app - [INFO] INFO - Dashboard-Refresh angefordert von User 1
2025-06-02 15:31:02 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': 2, 'total_jobs': 16, 'pending_jobs': 0, 'success_rate': 0.0, 'completed_jobs': None, 'failed_jobs': None, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 2}
2025-06-02 15:31:02 - [app] app - [INFO] INFO - Dashboard-Refresh erfolgreich: {'active_jobs': 0, 'available_printers': None, 'total_jobs': 16, 'pending_jobs': 0, 'success_rate': 0.0, 'completed_jobs': 0, 'failed_jobs': 0, 'cancelled_jobs': 0, 'total_users': 1, 'online_printers': 0, 'offline_printers': 2}
2025-06-03 13:18:49 - [app] app - [INFO] INFO - Optimierte SQLite-Engine erstellt: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend\database\myp.db
2025-06-03 13:18:51 - [app] app - [INFO] INFO - SQLite für Raspberry Pi optimiert (reduzierte Cache-Größe, SD-Karten I/O)
2025-06-03 13:18:52 - [app] app - [INFO] INFO - ✅ Timeout Force-Quit Manager geladen
2025-06-03 13:18:52 - [app] app - [INFO] INFO - ✅ Zentraler Shutdown-Manager initialisiert
2025-06-03 13:18:52 - [app] app - [INFO] INFO - ✅ Error-Recovery-Monitoring gestartet
2025-06-03 13:18:52 - [app] app - [INFO] INFO - ✅ System-Control-Manager initialisiert
2025-06-03 13:18:52 - [app] app - [WARNING] WARNING - ⚠️ Kiosk-Service nicht gefunden - Kiosk-Funktionen eventuell eingeschränkt
2025-06-03 13:18:52 - [app] app - [INFO] INFO - 🔄 Starte Datenbank-Setup und Migrationen...
2025-06-03 13:18:52 - [app] app - [INFO] INFO - Datenbank mit Optimierungen initialisiert
2025-06-03 13:18:52 - [app] app - [INFO] INFO - ✅ JobOrder-Tabelle bereits vorhanden
2025-06-03 13:18:52 - [app] app - [INFO] INFO - Admin-Benutzer admin (admin@mercedes-benz.com) existiert bereits. Passwort wurde zurückgesetzt.
2025-06-03 13:18:52 - [app] app - [INFO] INFO - ✅ Datenbank-Setup und Migrationen erfolgreich abgeschlossen
2025-06-03 13:18:52 - [app] app - [INFO] INFO - 🖨️ Starte automatische Steckdosen-Initialisierung...
2025-06-03 13:18:54 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 4, Status: disconnected, Quelle: system
2025-06-03 13:18:56 - [app] app - [INFO] INFO - Steckdosen-Status geloggt: Drucker 5, Status: disconnected, Quelle: system
2025-06-03 13:18:56 - [app] app - [INFO] INFO - ✅ Steckdosen-Initialisierung: 0/2 Drucker erfolgreich
2025-06-03 13:18:56 - [app] app - [WARNING] WARNING - ⚠️ 2 Drucker konnten nicht initialisiert werden
2025-06-03 13:18:56 - [app] app - [INFO] INFO - 🔄 Debug-Modus: Queue Manager deaktiviert für Entwicklung
2025-06-03 13:18:56 - [app] app - [INFO] INFO - Job-Scheduler gestartet
2025-06-03 13:18:56 - [app] app - [INFO] INFO - Starte Debug-Server auf 0.0.0.0:5000 (HTTP)
2025-06-03 13:18:56 - [app] app - [INFO] INFO - Windows-Debug-Modus: Auto-Reload deaktiviert

View File

@ -120,3 +120,4 @@
2025-06-02 14:51:08 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
2025-06-02 15:18:14 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
2025-06-02 15:29:06 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)
2025-06-03 13:18:50 - [backup] backup - [INFO] INFO - BackupManager initialisiert (minimal implementation)

View File

@ -466,3 +466,7 @@
2025-06-02 15:29:07 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
2025-06-02 15:29:07 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
2025-06-02 15:29:07 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)
2025-06-03 13:18:51 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
2025-06-03 13:18:52 - [dashboard] dashboard - [INFO] INFO - Dashboard-Background-Worker gestartet
2025-06-03 13:18:52 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server wird mit threading initialisiert (eventlet-Fallback)
2025-06-03 13:18:52 - [dashboard] dashboard - [INFO] INFO - Dashboard WebSocket-Server initialisiert (async_mode: threading)

View File

@ -116,3 +116,4 @@
2025-06-02 14:51:08 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
2025-06-02 15:18:14 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
2025-06-02 15:29:06 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet
2025-06-03 13:18:50 - [database] database - [INFO] INFO - Datenbank-Wartungs-Scheduler gestartet

View File

@ -19,3 +19,6 @@
2025-06-02 15:29:07 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup...
2025-06-02 15:29:07 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen...
2025-06-02 15:29:07 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen...
2025-06-03 13:18:52 - [database_cleanup] database_cleanup - [INFO] INFO - 🧹 Starte umfassendes Datenbank-Cleanup...
2025-06-03 13:18:52 - [database_cleanup] database_cleanup - [INFO] INFO - 📝 Schritt 1: Schließe alle Datenbankverbindungen...
2025-06-03 13:18:52 - [database_cleanup] database_cleanup - [INFO] INFO - 🔄 Schließe alle aktiven Datenbankverbindungen...

View File

@ -113,3 +113,4 @@
2025-06-02 14:51:09 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
2025-06-02 15:18:15 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
2025-06-02 15:29:07 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)
2025-06-03 13:18:51 - [email_notification] email_notification - [INFO] INFO - 📧 Offline-E-Mail-Benachrichtigung initialisiert (kein echter E-Mail-Versand)

View File

@ -6,3 +6,7 @@
2025-06-02 15:29:07 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet
2025-06-02 15:29:07 - [error_recovery] error_recovery - [WARNING] WARNING - 🚨 Fehler erkannt: database_lock - 2025-06-01 00:29:13 - myp.app - ERROR - ❌ Fehler beim Datenbank-Cleanup: (sqlite3.OperationalError) database is locked
2025-06-02 15:29:07 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database
2025-06-03 13:18:52 - [error_recovery] error_recovery - [INFO] INFO - 🛡️ Error-Recovery-Manager initialisiert
2025-06-03 13:18:52 - [error_recovery] error_recovery - [INFO] INFO - 🔍 Error-Monitoring gestartet
2025-06-03 13:18:52 - [error_recovery] error_recovery - [WARNING] WARNING - 🚨 Fehler erkannt: database_lock - 2025-06-01 00:29:13 - myp.app - ERROR - ❌ Fehler beim Datenbank-Cleanup: (sqlite3.OperationalError) database is locked
2025-06-03 13:18:52 - [error_recovery] error_recovery - [INFO] INFO - 🔧 Führe Recovery-Aktion aus: reset_database

View File

@ -232,3 +232,5 @@
2025-06-02 15:18:16 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
2025-06-02 15:29:07 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
2025-06-02 15:29:07 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
2025-06-03 13:18:51 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet
2025-06-03 13:18:52 - [maintenance] maintenance - [INFO] INFO - Wartungs-Scheduler gestartet

View File

@ -230,3 +230,5 @@
2025-06-02 15:18:16 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
2025-06-02 15:29:07 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
2025-06-02 15:29:07 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
2025-06-03 13:18:52 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt
2025-06-03 13:18:52 - [multi_location] multi_location - [INFO] INFO - Standard-Standort erstellt

View File

@ -115,3 +115,4 @@
2025-06-02 14:51:09 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
2025-06-02 15:18:16 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
2025-06-02 15:29:07 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert
2025-06-03 13:18:52 - [permissions] permissions - [INFO] INFO - 🔐 Permission Template Helpers registriert

View File

@ -3274,3 +3274,18 @@
2025-06-02 15:29:32 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102
2025-06-02 15:29:38 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105
2025-06-02 15:29:44 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s
2025-06-03 13:18:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🖨️ Drucker-Monitor initialisiert
2025-06-03 13:18:50 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Automatische Tapo-Erkennung in separatem Thread gestartet
2025-06-03 13:18:52 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Starte automatische Tapo-Steckdosenerkennung...
2025-06-03 13:18:52 - [printer_monitor] printer_monitor - [INFO] INFO - 🔄 Teste 6 Standard-IPs aus der Konfiguration
2025-06-03 13:18:52 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 1/6: 192.168.0.103
2025-06-03 13:18:52 - [printer_monitor] printer_monitor - [INFO] INFO - 🚀 Starte Steckdosen-Initialisierung beim Programmstart...
2025-06-03 13:18:54 - [printer_monitor] printer_monitor - [WARNING] WARNING - ❌ Tapo P110 (192.168.0.103): Steckdose konnte nicht ausgeschaltet werden
2025-06-03 13:18:56 - [printer_monitor] printer_monitor - [WARNING] WARNING - ❌ Tapo P110 (192.168.0.104): Steckdose konnte nicht ausgeschaltet werden
2025-06-03 13:18:56 - [printer_monitor] printer_monitor - [INFO] INFO - 🎯 Steckdosen-Initialisierung abgeschlossen: 0/2 erfolgreich
2025-06-03 13:18:58 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 2/6: 192.168.0.104
2025-06-03 13:19:04 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 3/6: 192.168.0.100
2025-06-03 13:19:10 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 4/6: 192.168.0.101
2025-06-03 13:19:16 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 5/6: 192.168.0.102
2025-06-03 13:19:22 - [printer_monitor] printer_monitor - [INFO] INFO - 🔍 Teste IP 6/6: 192.168.0.105
2025-06-03 13:19:28 - [printer_monitor] printer_monitor - [INFO] INFO - ✅ Steckdosen-Erkennung abgeschlossen: 0/6 Steckdosen gefunden in 36.0s

View File

@ -115,3 +115,4 @@
2025-06-02 14:51:09 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
2025-06-02 15:18:16 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
2025-06-02 15:29:07 - [security] security - [INFO] INFO - 🔒 Security System initialisiert
2025-06-03 13:18:52 - [security] security - [INFO] INFO - 🔒 Security System initialisiert

View File

@ -201,3 +201,4 @@
2025-06-02 14:51:09 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
2025-06-02 15:18:16 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
2025-06-02 15:29:07 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert
2025-06-03 13:18:52 - [shutdown_manager] shutdown_manager - [INFO] INFO - 🔧 Shutdown-Manager initialisiert

View File

@ -1043,3 +1043,12 @@
2025-06-02 15:29:07 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-02 15:29:07 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-02 15:29:07 - [startup] startup - [INFO] INFO - ==================================================
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - ==================================================
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - 🚀 MYP Platform Backend wird gestartet...
2025-06-03 13:18:52 - [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-03 13:18:52 - [startup] startup - [INFO] INFO - 💻 Betriebssystem: nt (win32)
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - 📁 Arbeitsverzeichnis: C:\Users\TTOMCZA.EMEA\Dev\Projektarbeit-MYP\backend
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - ⏰ Startzeit: 2025-06-03T13:18:52.083035
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - 🪟 Windows-Modus: Aktiviert
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - 🔒 Windows-sichere Log-Rotation: Aktiviert
2025-06-03 13:18:52 - [startup] startup - [INFO] INFO - ==================================================

View File

@ -1,2 +1,3 @@
2025-06-02 15:18:16 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert
2025-06-02 15:29:07 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert
2025-06-03 13:18:52 - [system_control] system_control - [INFO] INFO - 🔧 System-Control-Manager initialisiert

View File

@ -495,3 +495,7 @@
2025-06-02 15:29:05 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
2025-06-02 15:29:05 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
2025-06-02 15:29:05 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet
2025-06-03 13:18:49 - [windows_fixes] windows_fixes - [INFO] INFO - 🔧 Wende Windows-spezifische Fixes an...
2025-06-03 13:18:49 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Subprocess automatisch gepatcht für UTF-8 Encoding (run + Popen)
2025-06-03 13:18:49 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Globaler subprocess-Patch angewendet
2025-06-03 13:18:49 - [windows_fixes] windows_fixes - [INFO] INFO - ✅ Alle Windows-Fixes erfolgreich angewendet

View File

@ -57,11 +57,11 @@ if ($LASTEXITCODE -ne 0) {
# Flask-App verfügbarkeit prüfen
Write-Host ""
Write-Host "🔍 Prüfe Flask-App..." -ForegroundColor Blue
$flaskCheck = python -c "import sys; sys.path.append('..'); from app import app; print('Flask-App verfügbar')" 2>&1
Write-Host "Prüfe Flask-App..." -ForegroundColor Blue
$flaskCheck = python -c "import sys; sys.path.append('..'); exec('from app import app'); print('Flask-App verfügbar')" 2>&1
if ($LASTEXITCODE -ne 0) {
Write-Host "⚠️ Flask-App nicht direkt verfügbar" -ForegroundColor Yellow
Write-Host "📋 Das Tool wird mit Standard-Routen arbeiten" -ForegroundColor Blue
Write-Host "Flask-App nicht direkt verfügbar" -ForegroundColor Yellow
Write-Host "Das Tool wird mit Standard-Routen arbeiten" -ForegroundColor Blue
} else {
Write-Host $flaskCheck -ForegroundColor Green
}

View File

@ -1,8 +1,8 @@
{
"server": {
"base_url": "http://localhost:5000",
"admin_email": "admin@example.com",
"admin_password": "admin123"
"admin_email": "admin@mercedes-benz.com",
"admin_password": "744563017196A"
},
"browser": {
"type": "chrome",

View File

@ -23,6 +23,9 @@ readonly FIREWALL_SERVICE_NAME="myp-firewall"
readonly KIOSK_USER="kiosk"
readonly CURRENT_DIR="$(pwd)"
readonly INSTALL_LOG="/var/log/myp-install.log"
readonly ERROR_LOG="/var/log/myp-install-errors.log"
readonly WARNING_LOG="/var/log/myp-install-warnings.log"
readonly DEBUG_LOG="/var/log/myp-install-debug.log"
readonly HTTPS_PORT="443"
readonly HTTPS_URL="https://localhost:${HTTPS_PORT}"
readonly SYSTEMD_DIR="$CURRENT_DIR/systemd"
@ -42,17 +45,111 @@ readonly CYAN='\033[0;36m'
readonly NC='\033[0m'
# =========================== VERBESSERTE LOGGING-FUNKTIONEN ===========================
# Globale Variablen für Fehler-Tracking
ERROR_COUNT=0
WARNING_COUNT=0
# Log-Dateien initialisieren
init_logging() {
# Erstelle Log-Verzeichnis falls nötig
mkdir -p "$(dirname "$INSTALL_LOG")" 2>/dev/null || true
# Initialisiere alle Log-Dateien
{
echo "================================================================="
echo "MYP Installation Log - $(date '+%Y-%m-%d %H:%M:%S')"
echo "Script Version: $APP_VERSION"
echo "System: $(uname -a)"
echo "================================================================="
echo ""
} > "$INSTALL_LOG"
{
echo "================================================================="
echo "MYP Installation FEHLER Log - $(date '+%Y-%m-%d %H:%M:%S')"
echo "================================================================="
echo ""
} > "$ERROR_LOG"
{
echo "================================================================="
echo "MYP Installation WARNUNGEN Log - $(date '+%Y-%m-%d %H:%M:%S')"
echo "================================================================="
echo ""
} > "$WARNING_LOG"
{
echo "================================================================="
echo "MYP Installation DEBUG Log - $(date '+%Y-%m-%d %H:%M:%S')"
echo "================================================================="
echo ""
} > "$DEBUG_LOG"
}
log() {
echo -e "${GREEN}[$(date '+%Y-%m-%d %H:%M:%S')] $1${NC}" | tee -a "$INSTALL_LOG"
local message="[$(date '+%Y-%m-%d %H:%M:%S')] $1"
echo -e "${GREEN}${message}${NC}" | tee -a "$INSTALL_LOG"
}
error() {
echo -e "${RED}[FEHLER] $1${NC}" | tee -a "$INSTALL_LOG"
local timestamp="$(date '+%Y-%m-%d %H:%M:%S')"
local caller="${BASH_SOURCE[1]##*/}:${BASH_LINENO[0]}"
local message="[FEHLER] $1"
# Erhöhe Fehler-Zähler
((ERROR_COUNT++))
# Ausgabe auf Konsole
echo -e "${RED}${message}${NC}" | tee -a "$INSTALL_LOG"
# Detaillierte Fehler-Information in Fehler-Log
{
echo "[$timestamp] FEHLER #$ERROR_COUNT"
echo "Quelle: $caller"
echo "Nachricht: $1"
echo "Arbeitsverzeichnis: $(pwd)"
echo "Benutzer: $(whoami)"
echo "---"
echo ""
} >> "$ERROR_LOG"
# Debug-Informationen sammeln
{
echo "[$timestamp] FEHLER AUFGETRETEN - Debug-Info:"
echo "Caller: $caller"
echo "PWD: $(pwd)"
echo "User: $(whoami)"
echo "Disk Space: $(df -h / | tail -1)"
echo "Memory: $(free -m | grep '^Mem:' | awk '{print $3"/"$2" MB"}')"
echo "Load Average: $(uptime | awk -F'load average:' '{print $2}')"
echo "Recent commands from history:"
history | tail -5 2>/dev/null || echo "History nicht verfügbar"
echo "==============================================="
echo ""
} >> "$DEBUG_LOG"
exit 1
}
warning() {
echo -e "${YELLOW}[WARNUNG] $1${NC}" | tee -a "$INSTALL_LOG"
local timestamp="$(date '+%Y-%m-%d %H:%M:%S')"
local caller="${BASH_SOURCE[1]##*/}:${BASH_LINENO[0]}"
local message="[WARNUNG] $1"
# Erhöhe Warnungs-Zähler
((WARNING_COUNT++))
# Ausgabe auf Konsole
echo -e "${YELLOW}${message}${NC}" | tee -a "$INSTALL_LOG"
# Detaillierte Warnungs-Information in Warnungs-Log
{
echo "[$timestamp] WARNUNG #$WARNING_COUNT"
echo "Quelle: $caller"
echo "Nachricht: $1"
echo "---"
echo ""
} >> "$WARNING_LOG"
}
info() {
@ -68,7 +165,66 @@ success() {
}
debug() {
local timestamp="$(date '+%Y-%m-%d %H:%M:%S')"
local caller="${BASH_SOURCE[1]##*/}:${BASH_LINENO[0]}"
# Debug sowohl in normales Log als auch Debug-Log
echo -e "${BLUE}[DEBUG] $1${NC}" >> "$INSTALL_LOG"
{
echo "[$timestamp] DEBUG von $caller"
echo "$1"
echo "---"
echo ""
} >> "$DEBUG_LOG"
}
# Fehler-Zusammenfassung anzeigen
show_error_summary() {
echo ""
echo -e "${CYAN}=================================================================${NC}"
echo -e "${CYAN} INSTALLATION ABGESCHLOSSEN - FEHLER-ZUSAMMENFASSUNG${NC}"
echo -e "${CYAN}=================================================================${NC}"
echo ""
echo -e "${BLUE}📊 Statistiken:${NC}"
echo -e " ${RED}❌ Fehler: $ERROR_COUNT${NC}"
echo -e " ${YELLOW}⚠️ Warnungen: $WARNING_COUNT${NC}"
echo ""
echo -e "${BLUE}📁 Log-Dateien:${NC}"
echo -e " 📄 Vollständiges Log: $INSTALL_LOG"
echo -e " 🚨 Fehler-Log: $ERROR_LOG"
echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
echo -e " 🔍 Debug-Log: $DEBUG_LOG"
echo ""
if [ $ERROR_COUNT -gt 0 ]; then
echo -e "${RED}⚠️ Es sind $ERROR_COUNT Fehler aufgetreten!${NC}"
echo -e "${RED} Bitte prüfen Sie: $ERROR_LOG${NC}"
echo ""
# Zeige die letzten 3 Fehler an
if [ -f "$ERROR_LOG" ] && [ -s "$ERROR_LOG" ]; then
echo -e "${RED}🔍 Letzte Fehler:${NC}"
tail -n 20 "$ERROR_LOG" | head -n 15
echo ""
fi
fi
if [ $WARNING_COUNT -gt 0 ]; then
echo -e "${YELLOW}⚠️ Es sind $WARNING_COUNT Warnungen aufgetreten${NC}"
echo -e "${YELLOW} Bitte prüfen Sie: $WARNING_LOG${NC}"
echo ""
fi
if [ $ERROR_COUNT -eq 0 ] && [ $WARNING_COUNT -eq 0 ]; then
echo -e "${GREEN}✅ Installation ohne Fehler oder Warnungen abgeschlossen!${NC}"
elif [ $ERROR_COUNT -eq 0 ]; then
echo -e "${GREEN}✅ Installation erfolgreich mit $WARNING_COUNT Warnungen${NC}"
fi
echo -e "${CYAN}=================================================================${NC}"
}
# =========================== RETRY-MECHANISMEN ===========================
@ -1930,6 +2086,9 @@ show_menu() {
# =========================== INSTALLATIONS-MODI ===========================
install_dependencies_only() {
# Logging initialisieren
init_logging
log "=== MODUS: ROBUSTE ABHÄNGIGKEITEN-INSTALLATION FÜR MANUELLES TESTEN ==="
# Grundlegende System-Validierung
@ -1986,9 +2145,15 @@ install_dependencies_only() {
info "🚀 System bereit für manuelle Tests und Entwicklung!"
info "🌐 HTTPS-Backend sollte verfügbar sein: $HTTPS_URL"
info "⚙️ Manuelle App-Start Alternative: cd /opt/myp && python3 app.py"
# Fehler-Zusammenfassung anzeigen
show_error_summary
}
install_full_production_system() {
# Logging initialisieren
init_logging
log "=== MODUS: VOLLSTÄNDIGE ROBUSTE KIOSK-INSTALLATION MIT REMOTE-ZUGANG ==="
# Umfassende System-Validierung
@ -2082,6 +2247,9 @@ install_full_production_system() {
info ""
success "🚀 Produktionssystem vollständig einsatzbereit!"
warning "⚠️ NEUSTART ERFORDERLICH für automatischen Kiosk-Start: sudo reboot"
# Fehler-Zusammenfassung anzeigen
show_error_summary
}
# =========================== RDP & SSH ZUGANG ===========================
@ -2849,8 +3017,8 @@ EOF
# =========================== HAUPTPROGRAMM ===========================
main() {
# Erstelle Log-Datei
touch "$INSTALL_LOG" || true
# Erstelle Log-Verzeichnis
mkdir -p "$(dirname "$INSTALL_LOG")" 2>/dev/null || true
while true; do
show_menu
@ -2860,21 +3028,41 @@ main() {
1)
install_dependencies_only
echo ""
echo -e "${BLUE}📁 Log-Dateien zur Überprüfung:${NC}"
echo -e " 📄 Vollständiges Log: $INSTALL_LOG"
[ $ERROR_COUNT -gt 0 ] && echo -e " 🚨 Fehler-Log: $ERROR_LOG"
[ $WARNING_COUNT -gt 0 ] && echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
echo -e " 🔍 Debug-Log: $DEBUG_LOG"
echo ""
echo -n "Drücken Sie Enter um fortzufahren..."
read -r
;;
2)
install_full_production_system
echo ""
echo -e "${BLUE}📁 Log-Dateien zur Überprüfung:${NC}"
echo -e " 📄 Vollständiges Log: $INSTALL_LOG"
[ $ERROR_COUNT -gt 0 ] && echo -e " 🚨 Fehler-Log: $ERROR_LOG"
[ $WARNING_COUNT -gt 0 ] && echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
echo -e " 🔍 Debug-Log: $DEBUG_LOG"
echo ""
echo -n "Drücken Sie Enter um fortzufahren..."
read -r
;;
3)
log "Setup-Skript beendet"
echo ""
echo -e "${CYAN}Setup-Skript beendet${NC}"
if [ -f "$INSTALL_LOG" ]; then
echo -e "${BLUE}📁 Verfügbare Log-Dateien:${NC}"
echo -e " 📄 Vollständiges Log: $INSTALL_LOG"
[ -f "$ERROR_LOG" ] && echo -e " 🚨 Fehler-Log: $ERROR_LOG"
[ -f "$WARNING_LOG" ] && echo -e " ⚠️ Warnungs-Log: $WARNING_LOG"
[ -f "$DEBUG_LOG" ] && echo -e " 🔍 Debug-Log: $DEBUG_LOG"
fi
exit 0
;;
*)
error "Ungültige Auswahl. Bitte wählen Sie 1-3."
echo -e "${RED}Ungültige Auswahl. Bitte wählen Sie 1-3.${NC}"
;;
esac
done

File diff suppressed because one or more lines are too long