84 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/bash
 | 
						|
# set -x 
 | 
						|
 | 
						|
#if [ ${log_helpers_sourced:-1} = "1" ]; then
 | 
						|
#    readonly log_helpers_sourced=${BASH_SOURCE[0]}
 | 
						|
#else
 | 
						|
#    return 0
 | 
						|
#fi 
 | 
						|
    
 | 
						|
readonly log_file=/var/log/update_controller.log
 | 
						|
if ! [ -f "$log_file" ]; then
 | 
						|
    touch $log_file
 | 
						|
fi
 | 
						|
 | 
						|
readonly DEBUG=0
 | 
						|
readonly INFO=1
 | 
						|
readonly WARN=2
 | 
						|
readonly CRIT=3
 | 
						|
readonly ERROR=4
 | 
						|
readonly FATAL=5
 | 
						|
readonly MAX_DEBUG_LEVEL=6
 | 
						|
 | 
						|
log_level=0
 | 
						|
 | 
						|
set_dbg_level () {
 | 
						|
    if [ $1 < $MAX_DEBUG_LEVEL ]; then
 | 
						|
        log_level=$1
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
dbg_level () {
 | 
						|
    return $log_level
 | 
						|
}
 | 
						|
 | 
						|
log() {
 | 
						|
    if [[ $(("$(wc -l < $log_file)")) -ge $((100000)) ]]; then
 | 
						|
        # remove first line
 | 
						|
        sed -e 1d -i $log_file
 | 
						|
    fi
 | 
						|
    local msg="$(date +'%Y-%m-%d_%T'): $*"
 | 
						|
    printf "log:$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_error() {
 | 
						|
    if [ $log_level -le $ERROR ]; then
 | 
						|
        log "ERROR  $*"
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
log_fatal() {
 | 
						|
    if [ $log_level -le $FATAL ]; then
 | 
						|
        log "FATAL  $*"
 | 
						|
        log "exiting ..."
 | 
						|
        exit 1
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
# log "test message1" "test message2"
 |