檢視tomcat日誌

2021-10-01 13:35:07 字數 2373 閱讀 5842

需求:寫乙個擷取tomcat catalina.out日誌的指令碼

tomcat例項t1-t4

# find  /opt/tom/   -name  catalina.out

/opt/tom/t1/logs/catalina.out

/opt/tom/t3/logs/catalina.out

/opt/tom/t4/logs/catalina.out

/opt/tom/t2/logs/catalina.out

要求:

這個指令碼可以取tomcat例項t1-t4的日誌

這個指令碼可以自定義取日誌的起始點 ,比如取今天早上10點之後到現在的資料

這個指令碼可以自定義取日誌的起始點和終點,比如取今天早上9點到晚上8點的資料

catalina.out 日誌內容

#這個指令碼用來檢視tomcat日誌

#日期:2019-12-18

lang=en

logfile=

"/opt/tom/$1/logs/catalina.out"

#將當天的英文月、數字日期、數字年作為變數賦值給d_mdy

d_mdy=

`date

"+%b %d, %y"

`#判斷引數個數

if[ $# -ne 2 ] && [ $# -ne 3 ]

then

echo

"你提供的引數個數不對,請提供2個或者3個引數。例:sh $0 t1 08:01:00 14:00:00"

exit 1

fi#判斷第乙個引數是否符合要求if!

echo$1|

grep -qe '^t1$|^t2$|^t3$|^t4$'

then

echo

"第乙個引數必須是t1、t2、t3或t4"

exit 1

fi#判斷時間有效性

judge_time(

)#將24小時制時間轉換為12小時

tr_24_12(

)#判斷提供的時間點是否在日誌**現

judge_time_in_log(

)#判斷第2個引數是否合法

judge_time $2

#判斷起始時間點是否出現在日誌裡

judge_time_in_log $2

#如果提供第3個引數

if[ $# -eq 3 ]

then

#判斷第3個引數是否合法

judge_time $3

#判斷起始時間是否早於結束時間

t1=`date -d "$2" +%s`

t2=`date -d "$3" +%s`

if[$t2 -lt $t1

]then

echo

"你提供的時間$2比$3要晚,應該把早的時間放到前面"

exit

fi#判斷提供的結束時間點是否出現在日誌中

judge_time_in_log $3

fi#取起始時間所在行行號

begin_n=

`grep -n "$d_mdy

$(tr_24_12 $2)

" $logfile|

head -1|

awk -f ':'''`

#取結束時間所在行行號,並用sed擷取日誌內容

if[ $# -eq 3 ]

then

n=`grep -n "$d_mdy

$(tr_24_12 $3)

" $logfile|

tail -1|

awk -f ':'''`

#結束日期所在行的下一行才是日誌的內容

end_n=$[

$n+1]

sed -n "$begin_n,$end_n"p $logfile

else

sed -n "$begin_n,$"p $logfile

fi

如何檢視tomcat日誌

1.tomcat的安裝路徑下tomcat home下的common資料夾下的classes資料夾中建立log4j.properties檔案,即 apache software foundation tomcat 5.5 common classes log4j.rootlogger info,con...

linux 檢視Tomcat日誌

1 先切換到 cd usr local tomcat5 logs 2 tail f catalina.out 3 這樣執行時就可以實時檢視執行日誌了 ctrl c 是退出tail命令。順便講一下linux中tail命令 tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的 f選項可以方便...

linux上 檢視tomcat日誌檔案

1 2 1 先切換到logs目錄比如 cd opt apache tomcat 7.0.65 logs 2 tail f catalina.out 3 這樣執行時就可以實時檢視執行日誌了 ctrl c 是退出tail命令。我用的putty是ctrl z 順便講一下linux中tail命令 tail ...