diff --git a/log_helpers.sh b/log_helpers.sh index 4840ef0..16e27f5 100755 --- a/log_helpers.sh +++ b/log_helpers.sh @@ -1,6 +1,25 @@ #!/bin/bash # set -x +readonly DEBUG=0 +readonly INFO=1 +readonly WARN=2 +readonly CRIT=3 +readonly FATAL=4 +readonly MAX_DEBUG_LEVEL=5 + +log_level=0 + +set_dbg_level () { + if [ $1 < $MAX_DEBUG_LEVEL ]; then + log_level=$1 + fi +} + +dbg_level () { + return $log_level +} + log() { local log_file=/var/log/update_controller.log if [ -f "$log_file" ]; then @@ -11,7 +30,40 @@ log() { sed -e 1d -i $log_file fi message="$(date +'%D_%T'): $*" - printf "$message\n" + printf "$message\n" >&2 printf "$message\n" >> $log_file } + +log_debug() { + if [ $log_level = $DEBUG ]; then + log "DEBUG $*" + fi +} + +log_info() { + if [ $log_level -le $INFO ]; then + log "INFO $*" + fi +} + +log_warn() { + if [ $log_level -le $WARN ]; then + log "WARN $*" + fi +} + +log_crit() { + if [ $log_level -le $CRIT ]; then + log "CRIT $*" + fi +} + +log_fatal() { + if [ $log_level -le $FATAL ]; then + log "FATAL $*" + log "exiting ..." + exit 1 + fi +} + # log "test message1" "test message2"