Tomcat多日志文件输出:catalina.out与压缩日志差异解析
catalina.out与catalina.out.x.gz日志文件的区别
嘿,这个问题我太熟悉了!在Ubuntu上跑Tomcat7时,这俩日志文件的分工其实非常清晰:
1. catalina.out:实时活跃的日志文件
这是Tomcat当前正在实时写入的核心日志,相当于Tomcat的"控制台输出窗口":
- 它会记录Tomcat启动、停止的完整过程日志;
- 应用程序里用
System.out.println()输出的调试内容、未捕获的Java异常堆栈信息,都会被定向到这里; - 你可以用命令
tail -f /var/log/tomcat7/catalina.out实时监控Tomcat的运行状态和应用的动态输出。
2. catalina.out.x.gz:归档压缩的历史日志
这些带数字后缀和.gz压缩格式的文件,是日志轮转(Log Rotation)机制生成的历史归档日志:
- 要是一直往catalina.out里写,文件会无限膨胀,既占磁盘空间,排查历史问题也不方便。Ubuntu上的Tomcat默认会通过
logrotate工具自动处理日志轮转; - 当触发轮转规则(比如日志达到指定大小、每天固定时间轮转)时,当前的catalina.out会被重命名为
catalina.out.1,同时新建一个空的catalina.out继续接收新日志; - 当再次触发轮转时,旧的
catalina.out.1会被压缩成catalina.out.1.gz,新产生的历史日志则命名为catalina.out.1——数字越大的归档日志,对应的时间就越久远。
实用小技巧
查看压缩后的历史日志不用先解压,直接用命令就能在终端查看内容:
zcat /var/log/tomcat7/catalina.out.2.gz
或者:
gunzip -c /var/log/tomcat7/catalina.out.2.gz
另外,日志轮转的具体规则可以查看配置文件 /etc/logrotate.d/tomcat7,你可以根据需求调整轮转周期、保留的归档日志数量等参数。
内容的提问来源于stack exchange,提问作者gogogaga
相关产品推荐
相关产品推荐

