60 lines
759 B
Bash
60 lines
759 B
Bash
|
#!/bin/sh
|
||
|
|
||
|
__log_lvl=1
|
||
|
|
||
|
__log_get_lvl() {
|
||
|
case ${1:-$__log_lvl} in
|
||
|
0)
|
||
|
echo debug
|
||
|
;;
|
||
|
1)
|
||
|
echo info
|
||
|
;;
|
||
|
2)
|
||
|
echo warn
|
||
|
;;
|
||
|
3)
|
||
|
echo err
|
||
|
;;
|
||
|
4)
|
||
|
echo fatal
|
||
|
;;
|
||
|
esac
|
||
|
}
|
||
|
|
||
|
__log() {
|
||
|
[ $1 -ge $__log_lvl ] || return
|
||
|
level=$(__log_get_lvl $1)
|
||
|
shift
|
||
|
printf "[%s] %s\n" "$level" "$@"
|
||
|
}
|
||
|
|
||
|
debug() {
|
||
|
__log 0 "$@"
|
||
|
}
|
||
|
|
||
|
info() {
|
||
|
__log 1 "$@"
|
||
|
}
|
||
|
|
||
|
warn() {
|
||
|
__log 2 "$@"
|
||
|
}
|
||
|
|
||
|
err() {
|
||
|
__log 3 "$@"
|
||
|
}
|
||
|
|
||
|
fatal() {
|
||
|
while getopts "e:" opt; do
|
||
|
case $opt in
|
||
|
e)
|
||
|
exitnum=$OPTARG
|
||
|
;;
|
||
|
esac
|
||
|
done
|
||
|
shift $((OPTIND-1))
|
||
|
|
||
|
__log 4 "$@"
|
||
|
exit ${exitnum:-1}
|
||
|
}
|