71 lines
1.1 KiB
Bash
Executable File
71 lines
1.1 KiB
Bash
Executable File
#!/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
|
|
touch $log_file
|
|
fi
|
|
|
|
if [[ "$(wc -l < $log_file)" > "100000" ]]; then
|
|
# remove first line
|
|
sed -e 1d -i $log_file
|
|
fi
|
|
local msg="$(date +'%Y-%m-%d_%T'): $*"
|
|
printf "$msg\n" >&2
|
|
printf "$msg\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"
|