Linux系统中Tomcat的catalina.out不断增大的问题

问题背景

将业务系统从windows迁至Linux一段时间之后偶然发现Tomcat下catalina.out文件过大,达到20G,对系统稳定性造成影响,故希望抑制其增长问题。

问题解决方案

1.修改tomcat日志输出级别

http://blog.csdn.net/weixin_36586564/article/details/78550110

通过修改Tomcat文件夹下conf/logging.properties日志配置文件来屏蔽部分日志信息
将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。

1catalina.org.apache.juli.FileHandler.level = WARNING 
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs 
1catalina.org.apache.juli.FileHandler.prefix = catalina.

将level级别设置成WARNING就可以大量减少日志的输出,当然也可以设置成OFF,直接禁用掉。
日志的级别有:
SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)
这里写图片描述

2.修改系统日志输出

减少项目中日志的输出,System.out、System.err和e.printStackTrace();尽量不要用。
log4j配置,控制log4j日志输出
这里写图片描述

3.禁用Tomcat日志

  • 禁用catalina.out日志
    通过修改catalina.sh配置可以控制tomcat不生成该文件
只要将
if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
修改为
if [ -z "$CATALINA_OUT" ] ; then
  CATALINA_OUT=/dev/null
  • 禁用localhost_access_log日志
打开conf/server.xml文件注释掉
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b" />
这行代码,这样就不会生成localhost_access_log这个文件
  • 禁用host-manager.localhost. catalina.天manager.天日志文件
    打开conf/logging.properties文件
    1catalina.org.apache一类的全部注释掉即可

4.日志切割

4.1 cronolog方法

http://blog.csdn.net/u014389822/article/details/46515875

4.2 logrotate命令

https://www.iyunv.com/forum.php?mod=viewthread&tid=404484&highlight=tomcat%2B

5.Linux脚本备份删除

#!/bin/sh
y=`date "+%Y"`
m=`date "+%m"`
d=`date "+%d"`
cd /PATH /tomcat/logs
cp catalina.out catalina.out.$y$m$d
echo > catalina.out
exit

注意linux系统的cron服务是否启动,是否正常工作,还有脚本的存放路径

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值