您的位置:首页 > 运维架构 > Shell

linux shell日志工具类 可以记录日志用

2014-04-03 17:49 218 查看
#!/bin/sh

logpath="/home/log/"

currenttime=`date "+%Y%m%d"`

fileSize=1024

loglevel=$1

logmessage=$2

logfilename=""

createfile()

{

getLastLogFileName $logpath

filename=$logfilename

isNeedNewFile $filename

result=$?

if [ $result -eq 0 ];then

logfilename=${logpath}${currenttime}`date "+%H%M%S"`.log

elif [ $result -eq 2 ];then

logfilename=${logpath}${currenttime}`date "+%H%M%S"`.log

else

logfilename=${logpath}$filename

fi

}

isNeedNewFile()

{

filename=$1

if [ -z $filename ]; then

return 2

fi

if [ -f $filename ];then

size=`ls -l $filename | awk '{print $5}'`

if [ $size -gt $fileSize ];then

return 0

else

return 1

fi

else

return 2

fi

}

write_log ()

{

createfile

level=$1

msg=$2

case $level in

debug)

echo "[DEBUG] `date "+%Y%m%d%H%M%S"` : $msg " >> $logfilename

;;

info)

echo "[INFO] `date "+%Y%m%d%H%M%S"` : $msg " >> $logfilename

;;

error)

echo "[ERROE] `date "+%Y%m%d%H%M%S"` : $msg " >> $logfilename

;;

*)

echo "error......" >> $logfilename

;;

esac

}

getLastLogFileName()

{

path=$1

cd $path

lastLog=`ls -l |grep $currenttime | sort -k8rn | head -1 |awk '{print $9}'`

logfilename=$lastLog

}

#write_log $loglevel $logmessage
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: