Skripte/Utility/Log.sh

28 lines
690 B
Bash
Executable File

#!/bin/bash
# === IMPORTS ===
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/IsInteractive.sh"
# === Variablen ===
LOGDIR="/tmp/skript-logs"
LOGFILE="$LOGDIR/$(basename "$0" .sh)_$(date +'%Y-%m-%d').log"
# Funktion zum Protokollieren von Nachrichten
log() {
if [ ! -d "$LOGDIR" ]; then
mkdir -p "$LOGDIR"
fi
if [ ! -f "$LOGFILE" ]; then
touch "$LOGFILE"
fi
if is_interactive; then
# Interaktive Shell
echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOGFILE" >/dev/tty
else
# Crontab oder nicht-interaktive Umgebung
echo "$(date +'%Y-%m-%d %H:%M:%S') - $1" >>"$LOGFILE"
fi
}