41 lines
957 B
Bash
Executable File
41 lines
957 B
Bash
Executable File
#!/bin/bash
|
|
|
|
DEFAULT_LOG_FILE="$HOME/log.txt"
|
|
ACTIVE_LOG_FILE=""
|
|
|
|
# Die genutzte Logdatei kann mit log_init "dateiname" gesetzt werden.
|
|
|
|
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() {
|
|
clear
|
|
_log_dual " " " "
|
|
_log_dual " " " "
|
|
|
|
_log_dual "START" "--- $1 gestartet ---"
|
|
_log_dual "START" "--- Script: $0 ---"
|
|
}
|
|
log_end() {
|
|
_log_dual "END" "--- $1 abgeschlossen ---"
|
|
echo "" >> $ACTIVE_LOG_FILE
|
|
echo "" >> $ACTIVE_LOG_FILE
|
|
echo "" >> $ACTIVE_LOG_FILE
|
|
}
|