#!/bin/bash DEFAULT_LOG_FILE="./log-default.txt" ACTIVE_LOG_FILE="./log.txt" log_init() { ACTIVE_LOG_FILE="${1:-$DEFAULT_LOG_FILE}" mkdir -p "$(dirname "${ACTIVE_LOG_FILE}")" } _log_dual() { local level="$1" local message="$2" local timestamp timestamp="$(date '+%Y-%m-%d %H:%M:%S')" local line="${timestamp} [${level}] ${message}" echo "$line" # Konsole echo "$line" >> "${ACTIVE_LOG_FILE}" # Logdatei } log_info() { _log_dual "INFO" "$1"; } log_warn() { _log_dual "WARN" "$1"; } log_error() { _log_dual "ERROR" "$1"; } log_start() { echo "" | tee -a "${ACTIVE_LOG_FILE}" _log_dual "START" "--- $1 gestartet ---" } log_end() { _log_dual "END" "--- $1 abgeschlossen ---" echo "" | tee -a "${ACTIVE_LOG_FILE}" }