tomcat - catalina.out 日志过大处理方法
解决方案:
1、修改tomcat的日志配置,配置输出日志级别
2、修改工程的日志配置:输出在控制台的级别
3、对catalina.out 启动定时清空
改变输出日志级别 - 试运行
修改conf/logging.properties日志配置文件来屏蔽掉这部分的日志信息。
将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。
目前采用的是此方案。 对tomcat log配置文件进行调整。从27号调整完后,至11点,.out文件大小为4M。
修改项目的日志配置 - 待商议
查看应用的log4j配置文件,发现输出到控制台的配置,target是System.out
而catalina.out会记录 System.out 与 System.err的信息 。
删除log4j中的输出控制台的日志配置,catalina.out中不再记录应用的日志。 日志输出级别:ALL、DEBUG、INFO、WARN、ERROR 这下它不会涨的那么快了。设置工程项目输出至控制台catalina.out日志的级别: WARN
定时清空文件 - 测试成功
编写清空脚本脚本:(默认目录tomcat 根目录)
$ vim out_log.sh
baseDirForScriptSelf=$(cd "$(dirname "$0")"; pwd)
echo " " >${baseDirForScriptSelf}/logs/catalina.out
$ esc
$ :wq
$ chmod 775 ./out_log.sh
定时执行方法:
1、 crontab -e 首次支持需要选择 ,选择vim 编辑。
2、 添加以下内容 :
5 1 * * * /“tomcat目录”/out_log.sh
日志文件分割 – 待实测。
对catalina.out 文件进行分割,以日期存储。 此方案还未进行测试,待进行实测。
疑惑
- Catalina引擎的日志文件,文件名catalina.日期.log
- Tomcat下内部代码抛出的日志,文件名localhost.日期.log
- Tomcat下默认manager(host-manager)应用日志
控制台输出的日志,Linux下默认重定向到catalina.out。
当采用定制清空catalina.out ,存2点疑惑: 疑惑点1 :CRM是否存在打印到控制台的消息 ;若存在输出到控制台的消息,是否为系统异常后,辅助分析问题的重要信息。 疑惑点2 :若CRM系统出现异常后,是否需要对catalina.out 日志进行提取分析。当采用清空out文件内容后,则只有当前的内容。