container-library/overlay/usr/local/lib/log.sh

31 lines
774 B
Bash

#!/usr/bin/env sh
# Library for logging functions
# Log the given message at the given level. All logs are written to stderr with a timestamp.
log() {
level="$1"
message="$2"
timestamp=$(date +"%Y-%m-%d %H:%M:%S")
script_name="$(basename "$0")"
echo >&2 "${timestamp} [${level}] [$script_name] ${message}"
}
# Log the given message at INFO level. All logs are written to stderr with a timestamp.
log_info() {
message="$1"
log "INFO" "$message"
}
# Log the given message at WARN level. All logs are written to stderr with a timestamp.
log_warn() {
message="$1"
log "WARN" "$message"
}
# Log the given message at ERROR level. All logs are written to stderr with a timestamp.
log_error() {
message="$1"
log "ERROR" "$message"
}