#${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