diff --git a/logger.sh b/logger.sh index 277f1e5..f35f968 100644 --- a/logger.sh +++ b/logger.sh @@ -5,12 +5,33 @@ GIT_PFAD="$HOME/Gitea" DEFAULT_LOG_FILE="$HOME/log.txt" ACTIVE_LOG_FILE="$GIT_PFAD/logger/Logs/log.log" -# Die tatsächlich genutzte Logdatei kann mit log_init "dateiname" gesetzt werden. +# Funktion zur Anzeige der Hilfe +show_help() { + echo "Verwendung: $0 [Optionen]" + echo "Optionen:" + echo " -f, --file Log-Datei angeben (Standard: $ACTIVE_LOG_FILE)" + echo " -m, --message Log-Nachricht angeben" + echo " -l, --level Log-Level angeben (INFO, WARN, ERROR, START, END)" + echo " -h, --help Diese Hilfe anzeigen" + exit 0 +} +# Kommandozeilenargumente parsen +while [[ "$#" -gt 0 ]]; do + case $1 in + -f|--file) ACTIVE_LOG_FILE="$2"; shift ;; + -m|--message) MESSAGE="$2"; shift ;; + -l|--level) LEVEL="$2"; shift ;; + -h|--help) show_help ;; + *) echo "Unbekannte Option: $1"; show_help; exit 1 ;; + esac + shift +done + +# Die tatsächlich genutzte Logdatei kann mit log_init "dateiname" gesetzt werden. log_init() { - ACTIVE_LOG_FILE="$1" #{1:-$DEFAULT_LOG_FILE}" + ACTIVE_LOG_FILE="$1" echo "Logdatei: $ACTIVE_LOG_FILE" - # mkdir -p "$(dirname "${ACTIVE_LOG_FILE}")" if [ ! -f "$ACTIVE_LOG_FILE" ]; then echo "Fehler: Logdatei '$ACTIVE_LOG_FILE' existiert nicht!" >&2 exit 1 @@ -43,3 +64,18 @@ log_end() { echo "" >> $ACTIVE_LOG_FILE echo "" >> $ACTIVE_LOG_FILE } + +# Hauptlogik für Kommandozeilenaufruf +if [ -n "$MESSAGE" ]; then + case "$LEVEL" in + INFO) log_info "$MESSAGE" ;; + WARN) log_warn "$MESSAGE" ;; + ERROR) log_error "$MESSAGE" ;; + START) log_start "$MESSAGE" ;; + END) log_end "$MESSAGE" ;; + *) + echo "Fehler: Ungültiger Log-Level '$LEVEL'. Erlaubt sind INFO, WARN, ERROR, START, END." >&2 + exit 1 + ;; + esac +fi \ No newline at end of file