Tomcat catalina.out日志超大问题,与打开查看。
时间:2010-07-17 来源:wang-haha
一、打开超大日志文件,查看日志
一线反馈应用出现故障,不能处理下发的任务。获取应用日志后发现可疑的任务多线程处理部分,异常捕获的不好。如果出现RuntimeException异常,将不会记录在系统日志中。
叫一线取下catalina.out日志文件,如果有未捕获的RuntimeException异常则会记录在这个文件中。
一看,文件达5G多。本机打不开。在Solaris使用vi命令,报内存不足(打开了也翻不到那天的日志,会翻死)。
使用tail -10000 catalina.out > Eponlog.log
1w行可以,但离需要的日期的部分还很远。试了试10W行,不行。
没辙了吗?打不开这日志,那问题怎么定位解决啊。
想到还有个分割文件的命令,试一试。
split -b 200M catalina.out -- 每个文件200M
结果可以查看日志了。问题很快定位。
二、解决catalina.out日志超大问题
接下来考虑catalina.out怎么会这么大呢?查看里面记录了应用的所有日志信息。
查看应用的log4j配置文件,发现输出到控制台的配置,target是System.out
而catalina.out会记录 System.out 与 System.err的信息
删除log4j中的输出控制台的日志配置,catalina.out中不再记录应用的日志。
这下它不会涨的那么快了。
一线反馈应用出现故障,不能处理下发的任务。获取应用日志后发现可疑的任务多线程处理部分,异常捕获的不好。如果出现RuntimeException异常,将不会记录在系统日志中。
叫一线取下catalina.out日志文件,如果有未捕获的RuntimeException异常则会记录在这个文件中。
一看,文件达5G多。本机打不开。在Solaris使用vi命令,报内存不足(打开了也翻不到那天的日志,会翻死)。
使用tail -10000 catalina.out > Eponlog.log
1w行可以,但离需要的日期的部分还很远。试了试10W行,不行。
没辙了吗?打不开这日志,那问题怎么定位解决啊。
想到还有个分割文件的命令,试一试。
split -b 200M catalina.out -- 每个文件200M
结果可以查看日志了。问题很快定位。
二、解决catalina.out日志超大问题
接下来考虑catalina.out怎么会这么大呢?查看里面记录了应用的所有日志信息。
查看应用的log4j配置文件,发现输出到控制台的配置,target是System.out
而catalina.out会记录 System.out 与 System.err的信息
删除log4j中的输出控制台的日志配置,catalina.out中不再记录应用的日志。
这下它不会涨的那么快了。
相关阅读 更多 +