1. 程式人生 > >Tomcat關閉日誌catalina.out

Tomcat關閉日誌catalina.out

catalina.out檔案會越來越大,對系統的穩定造成了一定的影響。conf/logging.properties

一般在部署Tomcat後,執行久了,catalina.out檔案會越來越大,對系統的穩定造成了一定的影響。
可通過修改conf/logging.properties日誌配置檔案來遮蔽掉這部分的日誌資訊。

catalina.org.apache.juli.FileHandler.level = WARNING
catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
catalina.org.apache.juli.FileHandler.prefix 
= catalina.

 

將level級別設定成WARNING就可以大量減少日誌的輸出,當然也可以設定成OFF,直接禁用掉。

一般日誌的級別有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

來自:

http://rwl6813021.iteye.com/blog/752416

Linux下的tomcat產生的日誌檔案不象windows下的按時間時間和大小來處理,

儘管也生成了日誌檔案catalina.2009-0x-0x.log型別的檔案,但是其中的catalina.out檔案依然增大;它為啥在增大,為啥在增大,原因我就不探究了。

Tomcat的官方文件,由於是外文,偶還沒有看明白di;

http://tomcat.apache.org/tomcat-6.0-doc/logging.html

據說是修改某些配置可以實現,希望高人指點,給個官方的解決方案;

老是增大也不是辦法,還是想其他辦法搞定它為好:

方法1—分割流

使用cronolog工具切分Tomcat的catalina.out日誌檔案

cronolog一個對日誌切分的小工具,其主頁在http://cronolog.org/,我們也可以用它來切分Apache的日誌。

具體的方法,您可以去google之,這個方法佔網路搜尋結果的主流;

方法2—指令碼流

事情終究不過是個大檔案處理的問題,強大的bash來搞定;

使用cron每天來備份當前的catalina.out,然後清空他的內容;

參考指令碼如下:

複製程式碼
#!/bin/sh
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
exit
複製程式碼

注意linux系統的cron服務是否啟動,是否正常工作,還有指令碼的存放路徑(原因暫保密)

方法3—猥瑣流

開啟bin目錄下的catalina.sh檔案,終究不過是個bash檔案,

查詢一下,catalina.out總共出現三次;

複製程式碼
touch "$CATALINA_BASE"/logs/catalina.out
if [ "$1" = "-security" ] ; then
echo "Using Security Manager"
shift
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $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 "[email protected]" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
if [ ! -z "$CATALINA_PID" ]; then
echo $! > $CATALINA_PID
fi
else
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $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 "[email protected]" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
複製程式碼

個人覺得也就是這裡是寫catalina.out檔案的;讓他寫到一個其他的空裝置如何?

修改前注意原檔案的catalina.sh的備份喲~!!

修改以上程式碼中的

>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

>> /dev/null 2>&1 &

儲存,然後啟動tomcat,目前這個 catalina.out一直是空的了。

這個方法是偶自己想到的,個人認為比較勇敢,目前還沒有在生產環境測試過。虛擬機器測試是通過的。

方法4—人流

這個方法其實就是linux系統管理員手工去刪除,人工操作,簡稱“人流”;

刪除之前最好停止tomcat的服務;

 

1 catalina.org.apache.juli.FileHandler.level = WARNING
2 catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3 catalina.org.apache.juli.FileHandler.prefix = catalina.

catalina.out檔案會越來越大,對系統的穩定造成了一定的影響。conf/logging.properties

一般在部署Tomcat後,執行久了,catalina.out檔案會越來越大,對系統的穩定造成了一定的影響。
可通過修改conf/logging.properties日誌配置檔案來遮蔽掉這部分的日誌資訊。

catalina.org.apache.juli.FileHandler.level = WARNING
catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
catalina.org.apache.juli.FileHandler.prefix = catalina.

 

將level級別設定成WARNING就可以大量減少日誌的輸出,當然也可以設定成OFF,直接禁用掉。

一般日誌的級別有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

來自:

http://rwl6813021.iteye.com/blog/752416

Linux下的tomcat產生的日誌檔案不象windows下的按時間時間和大小來處理,

儘管也生成了日誌檔案catalina.2009-0x-0x.log型別的檔案,但是其中的catalina.out檔案依然增大;它為啥在增大,為啥在增大,原因我就不探究了。

Tomcat的官方文件,由於是外文,偶還沒有看明白di;

http://tomcat.apache.org/tomcat-6.0-doc/logging.html

據說是修改某些配置可以實現,希望高人指點,給個官方的解決方案;

老是增大也不是辦法,還是想其他辦法搞定它為好:

方法1—分割流

使用cronolog工具切分Tomcat的catalina.out日誌檔案

cronolog一個對日誌切分的小工具,其主頁在http://cronolog.org/,我們也可以用它來切分Apache的日誌。

具體的方法,您可以去google之,這個方法佔網路搜尋結果的主流;

方法2—指令碼流

事情終究不過是個大檔案處理的問題,強大的bash來搞定;

使用cron每天來備份當前的catalina.out,然後清空他的內容;

參考指令碼如下:

複製程式碼
#!/bin/sh
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
exit
複製程式碼

注意linux系統的cron服務是否啟動,是否正常工作,還有指令碼的存放路徑(原因暫保密)

方法3—猥瑣流

開啟bin目錄下的catalina.sh檔案,終究不過是個bash檔案,

查詢一下,catalina.out總共出現三次;

複製程式碼
touch "$CATALINA_BASE"/logs/catalina.out
if [ "$1" = "-security" ] ; then
echo "Using Security Manager"
shift
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $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 "[email protected]" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
if [ ! -z "$CATALINA_PID" ]; then
echo $! > $CATALINA_PID
fi
else
"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $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 "[email protected]" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
複製程式碼

個人覺得也就是這裡是寫catalina.out檔案的;讓他寫到一個其他的空裝置如何?

修改前注意原檔案的catalina.sh的備份喲~!!

修改以上程式碼中的

>> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

>> /dev/null 2>&1 &

儲存,然後啟動tomcat,目前這個 catalina.out一直是空的了。

這個方法是偶自己想到的,個人認為比較勇敢,目前還沒有在生產環境測試過。虛擬機器測試是通過的。

方法4—人流

這個方法其實就是linux系統管理員手工去刪除,人工操作,簡稱“人流”;

刪除之前最好停止tomcat的服務;

 

1 catalina.org.apache.juli.FileHandler.level = WARNING
2 catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3 catalina.org.apache.juli.FileHandler.prefix = catalina.