38 lines
618 B
Bash
38 lines
618 B
Bash
#!/usr/bin/env zsh
|
|
|
|
declare -A levels=([DEBUG]=0 [INFO]=1 [WARN]=2 [ERROR]=3)
|
|
# LOG_LEVEL="DEBUG"
|
|
|
|
logger() {
|
|
if [ -z ${LOG_LEVEL+x} ]; then
|
|
return 3
|
|
fi
|
|
local log_message=$1
|
|
local log_priority=$2
|
|
|
|
#check if level exists
|
|
[[ ${levels[$log_priority]} ]] || return 1
|
|
|
|
#check if level is enough
|
|
(( ${levels[$log_priority]} < ${levels[$LOG_LEVEL]} )) && return 2
|
|
|
|
#log here
|
|
echo "${log_priority} : ${log_message}"
|
|
}
|
|
|
|
logger.debug(){
|
|
logger $1 "DEBUG"
|
|
}
|
|
|
|
logger.info(){
|
|
logger $1 "INFO"
|
|
}
|
|
|
|
logger.warn(){
|
|
logger $1 "WARN"
|
|
}
|
|
|
|
logger.error(){
|
|
logger $1 "ERROR"
|
|
}
|