📚 Improved logging structure across various logs files in the backend. 🖥️🔍
This commit is contained in:
202
backend/setup.sh
202
backend/setup.sh
@@ -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
|
||||
|
Reference in New Issue
Block a user