1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| loglevel=0 logfile=$0".log" function log { local msg;local logtype logtype=$1 msg=$2 datetime=`date +'%F %H:%M:%S'` logformat="[${logtype}]\t${datetime}\tfuncname: ${FUNCNAME[@]/log/}\t[line:`caller 0 | awk '{print$1}'`]\t${msg}" { case $logtype in debug) [[ $loglevel -le 0 ]] && echo -e "\033[30m${logformat}\033[0m" ;; info) [[ $loglevel -le 1 ]] && echo -e "\033[32m${logformat}\033[0m" ;; warn) [[ $loglevel -le 2 ]] && echo -e "\033[33m${logformat}\033[0m" ;; error) [[ $loglevel -le 3 ]] && echo -e "\033[31m${logformat}\033[0m" ;; esac } | tee -a $logfile }
|