Skip to content

Instantly share code, notes, and snippets.

@artifactsauce
Last active June 4, 2022 00:53
Show Gist options
  • Save artifactsauce/4174054 to your computer and use it in GitHub Desktop.
Save artifactsauce/4174054 to your computer and use it in GitHub Desktop.
Bash function file for logger.
# functions
declare -i OK=0
declare -i FAIL=1
[ -n "$LOG_LEVEL" ] || declare -i LOG_LEVEL=3
[ -n "$DATE_FORMAT" ] || DATE_FORMAT="%x %T"
[ -n "$LOG_FILE" ] || LOG_FILE="progress.log"
logger_fatal() {
[ "$LOG_LEVEL" -ge 0 ] || return $FAIL
echo "[`date +"${DATE_FORMAT}"`] [FATAL] $*" 1>&2
exit 1
}
logger_error() {
[ "$LOG_LEVEL" -ge 1 ] || return $FAIL
echo "[`date +"${DATE_FORMAT}"`] [ERROR] $*" 1>&2
exit 1
}
logger_warn() {
[ "$LOG_LEVEL" -ge 2 ] || return $FAIL
echo "[`date +"${DATE_FORMAT}"`] [WARN] $*" 1>&2
}
logger_info() {
[ "$LOG_LEVEL" -ge 3 ] || return $FAIL
echo "[`date +"${DATE_FORMAT}"`] [INFO] $*" 1>&2
}
logger_debug() {
[ "$LOG_LEVEL" -ge 4 ] || return $FAIL
echo "[`date +"${DATE_FORMAT}"`] [DEBUG] $*" 1>&2
}
logger_trace() {
[ "$LOG_LEVEL" -ge 5 ] || return $FAIL
echo "[`date +"${DATE_FORMAT}"`] [TRACE] $*" 1>&2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment