日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

【Tomcat】如何解决catalina.out文件过大的问题

發(fā)布時(shí)間:2024/4/14 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Tomcat】如何解决catalina.out文件过大的问题 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Tomcat默認(rèn)生成的日志文件catalina.out,隨著時(shí)間的推移,逐漸增大,可能達(dá)到G數(shù)量級(jí)。文件過(guò)大,我們將無(wú)法使用過(guò)常規(guī)編輯工具查看,嚴(yán)重影響系統(tǒng)維護(hù)工作。解決此問(wèn)題,主要從Tomcat和代碼兩方面考慮。
一、 代碼本身考慮 Tomcat輸出catalina.out文件,數(shù)據(jù)主要來(lái)源為:System.out 和 System.err 在控制臺(tái)上直接輸出的信息。為了減少日志輸出的壓力,規(guī)范代碼習(xí)慣,編碼時(shí)應(yīng)避免使用System.out.println()和e.printStackTrace()。
二、 Tomcat配置考慮
1、 Tomcat使用log4j 我們知道,tomcat默認(rèn)使用Java.util.logging進(jìn)行日志打印,并且Linux默認(rèn)都將應(yīng)用日志打印在catalina.out。當(dāng)系統(tǒng)長(zhǎng)期運(yùn)行,我們就會(huì)發(fā)現(xiàn)問(wèn)題:catalina.out日志量越來(lái)越大,對(duì)我們查看和管理都極其不便。(默認(rèn)tomcat的catalina日志不支持每天一個(gè)文件那種配置) 解決以上問(wèn)題有幾種思路,網(wǎng)上討論得較多的就是日志切割,如通過(guò)cronolog工具進(jìn)行日切。這種方式治標(biāo)不治本,不夠靈活。我們web項(xiàng)目通常都會(huì)使用log4j進(jìn)行日志打印,并且log4j本身就支持按日(按月/按小時(shí)/按分鐘等)打印日志,還有豐富的配置,只需要對(duì)tomcat配置稍加修改即可實(shí)現(xiàn)。 1)準(zhǔn)備jar包: log4j-1.2.17.jar(下載) tomcat-juli.jar,tomcat-juli-adapters.jar (下載,根據(jù)你的Tomcat版本選擇對(duì)應(yīng)的分支) 2)將上面的三個(gè)jar包拷貝到 Tomcat 的 lib 目錄下;將 tomcat-juli.jar 再拷貝到 Tomcat 的bin 目錄下,替換原有的jar包; 3)修改 Tomcat 的 conf/context.xml文件,將<Context>改為<Context swallowOutput="true">,可以減少控制臺(tái)日志的輸出 (增加swallowOutput="true" 的屬性配置,只有這樣才能完全的把tomcat的stdout給接管過(guò)來(lái)。這一步很關(guān)鍵在官網(wǎng)及網(wǎng)上找了許多資料都沒(méi)有提及。); 4)刪除 Tomcat 的 conf/logging.properties文件(或者重命名-建議); 5)把工程中的log4j.properties 文件拷貝到在 Tomcat 的 lib 目錄下; 6)重啟tomcat
2、 Tomcat配置 部署服務(wù)時(shí),修改Tomcat的conf/context.xml文件,將<Context>改為<Context swallowOutput="true">; 3、 使用cronolog工具分割 (cronolog的使用) A、 cronolog工具下載 官方URL:http://cronolog.org/download/index.html B、 cronolog編譯安裝 [TSP@tsp-dev-webservice ~]$ tar xvf cronolog-1.6.2.tar.gz [TSP@tsp-dev-webservice cronolog-1.6.2]$ ./configure [TSP@tsp-dev-webservice cronolog-1.6.2]$ make [TSP@tsp-dev-webservice cronolog-1.6.2]$ sudo make install C、 修改Tomcat啟動(dòng)腳本catalina.sh a、 修改輸出日志路徑 修改: if [ -z "$CATALINA_OUT" ] ; thenCATALINA_OUT="$CATALINA_BASE"/logs/catalina.out fi 為: if [ -z "$CATALINA_OUT" ] ; thenCATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out fi b、 刪除生成日志文件 注釋: touch "$CATALINA_OUT" 為: #touch "$CATALINA_OUT" c、 修改啟動(dòng)腳本參數(shù) 修改: org.apache.catalina.startup.Bootstrap "$@" start \>> "$CATALINA_OUT" 2>&1 "&" 為: org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \| /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null & D、 重啟Tomcat Tomcat輸出日志文件分割成功,輸出log文件格式為:catalina.2014-08-15.out類型。

總結(jié)

以上是生活随笔為你收集整理的【Tomcat】如何解决catalina.out文件过大的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。