天天看點

shell腳本列印報錯資訊行

#${FUNCNAME[1]}表示調用該函數的函數
#$LINENO表示目前代碼行号
Log(){
        local log_level=$1
        local log_info=$2
        local line=$3
        local script_name=$(basename $0)

        case ${log_level} in
"INFO")
echo -e "\033[32m$(date "+%Y-%m-%d %T.%N") [INFO]: ${log_info}\033[0m";;
"WARN")
echo -e "\033[33m$(date "+%Y+%m+%d %T.%N") [WARN]: ${log_info}\033[0m";;
"ERROR")
echo -e "\033[31m$(date "+%Y-%m-%d %T.%N") [ERROR ${script_name} ${FUNCNAME[1]}:$line]: ${log_info}\033[0m";;

        *)
echo -e "${@}"
        ;;
esac
}


ceshi(){
#列印出錯的行,55是手動寫的
Log ERROR dfddfdsf 55
#列印出錯的行,$LINENO
Log ERROR djgnsjkghjdskgj $LINENO
}
ceshi

      

繼續閱讀