tomcat環(huán)境搭建較為簡單,下載tomcat后,將war包放在webapps的路徑下,運行bin里的腳本即可,這里介紹一下在搭建中遇到的問題。
tomcat最頭痛的是亂碼,如果是在window平臺下搭建,應注意兩點。 - conf/server.xml文件中需要在Connector標簽添加 URIEncoding=”utf-8” 屬性 -bin/catalina.bat文件中需要添加java_OPTS=”-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF8”屬性,Dfile代表上傳文件使用UTF8格式,sun.jnu代表輸出log等用utf8.
tomcat默認使用的commons-logging-1.0.jar作為log輸出工具,相應的配置文件為logging.PRoperties。通常我們會采用更為靈活的log4j替代。替代可以選擇指定項目或者在tomcat環(huán)境下進行替代。
下載log4j.jar,這里我選擇的是log4j-1.2.17.jar版本,保存在./webapps/cepm360/WEB-INF/lib/log4j-1.2.17.jar路徑下,log4j.properties文件在./webapps/cepm360/WEB-INF/web.xml中指定
可以參考百度經(jīng)驗中的方法 http://jingyan.baidu.com/article/5d6edee20f37e599eadeec3a.html?st=2&os=0&bd_page_type=1&net_type=1 即使采用log4j方式對log文件進行分割,也不一定能達到要求,這里介紹些在linux下常用的命令用來處理log文件:
該命令主要用于編碼轉換,如 iconv -f gbk -t utf-8 cepm360.log_2017-02-08.log.2 將cepm360文件編碼由gbk轉換為utf-8
split -b 10m cepm360.log_2017-02-08.log.2 將cepm360文件按照10m大小進行分割
對于需要實時觀察指定文件時 tail -f cepm360 可以對文件做過濾 tail -f cepm360 | grep –line-buffer -a “請求參數(shù)|返回結果” | grep –line-buffer -va “返回結果.*is_process.*is_push|請求參數(shù).*getALLMessage” 上述命令意思為篩選出包含請求參數(shù)和返回結果的行同時不包含返回結果.*is_process.*is_push和請求參數(shù).*getALLMessage的行,-a表示忽略二進制文件。 如果輸出文件的格式按日期劃分,格式為cepm360.2016-02-23.log,則可以進一步智能化: day=`date -d today +”%Y-%m-%d”` file=./logs/localhost.$day.log
tail -f $file
新聞熱點
疑難解答