打開tomcat的bin目錄下的catalina.sh檔案。
!!!修改前注意原檔案的catalina.sh的備份~!!!
CTRL+F查詢,查詢條件為括号中内容
org.apache.catalina.startup.Bootstrap "$@" start \
然後定位到該内容處
? ?eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
? ? ?-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
? ? ?-Djava.security.manager \
? ? ?-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
? ? ?-Dcatalina.base="\"$CATALINA_BASE\"" \
? ? ?-Dcatalina.home="\"$CATALINA_HOME\"" \
? ? ?-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
? ? ?org.apache.catalina.startup.Bootstrap "$@" start \
? ? ?>> "$CATALINA_OUT" 2>&1 "&"
?else
? ?eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
? ? ?-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
? ? ?-Dcatalina.base="\"$CATALINA_BASE\"" \
? ? ?-Dcatalina.home="\"$CATALINA_HOME\"" \
? ? ?-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
? ? ?org.apache.catalina.startup.Bootstrap "$@" start \
? ? ?>> "$CATALINA_OUT" 2>&1 "&"
這裡是把背景輸出日志寫入catalina.out檔案的;
修改以上代碼中的中的
為
儲存,然後重新開機tomcat,然後這個 catalina.out檔案就一直是空的了。
有時甲方要求catalina.out日志必須保留一段時間,是以我們不能直接删除或直接禁止向catalina.out中輸出内容(是以不能使用上面的腳本),但是我們可以使用下面腳本,添加定時任務,每隔一段時間清空一下catalina.out中内容:
下面的路徑為假路徑,真實環境中要以catalina.out的實際路徑為準!
#!bin/bash
echo -n "">/home/apps/tomcat/logs/catalina.out
不能直接删除catalina.out日志,如果删除了這個日志,tomcat不重新開機,這個檔案雖然表面看起來是沒了,但是實際上還是在占用系統記憶體,系統還是在不斷向這個檔案中寫入日志,時間長了會導緻系統卡死而且不太容易排查(主要排查方法就是兩個指令 df -h 和 du -h ,這兩個指令執行的結果不同,從這一點可以發現問題)。而tomcat重新開機以後還是會重新生成catalina.out日志檔案。