tomcat环境搭建较为简单,下载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环境下进行替代。
下载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中指定
可以参考百度经验中的方法 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 “请求参数|返回结果” | grep –line-buffer -va “返回结果.*is_process.*is_push|请求参数.*getALLMessage” 上述命令意思为筛选出包含请求参数和返回结果的行同时不包含返回结果.*is_process.*is_push和请求参数.*getALLMessage的行,-a表示忽略二进制文件。 如果输出文件的格式按日期划分,格式为cepm360.2016-02-23.log,则可以进一步智能化: day=`date -d today +”%Y-%m-%d”` file=./logs/localhost.$day.log
tail -f $file
新闻热点
疑难解答