请问 tomcat 中的 catalina.out 文件过大怎么处理

2017 年 10 月 27 日
 blueorange

在生产环境中, tomcat 目录下面 catalina.out 文件过一阵子达到几 G 的量,请问怎么处理

6376 次点击
所在节点    Java
21 条回复
srx1982
2017 年 10 月 27 日
删了。。。
yidinghe
2017 年 10 月 27 日
1. 临时解决办法 echo "">catalina.out
2. 长期解决办法:日志输出不要直接输出到 System.out ,而是要用日志框架比如 logback,而且配置框架的时候也不要输出到标准输出,而是用滚动文件。
blueorange
2017 年 10 月 27 日
@srx1982 有没有那种可以切片的,现在看日志都很不方便 是不是可以把 catalina.out 切分
blueorange
2017 年 10 月 27 日
意思是在生产环境中不使用 ConsoleAppender 这个?
这个也是个解决办法哟。
murmur
2017 年 10 月 27 日
写个脚本按日拆分就可以
firemiles
2017 年 10 月 27 日
logrotate
hubert3
2017 年 10 月 27 日
@yidinghe 滚动文件会不会调试就不方便了?
yidinghe
2017 年 10 月 27 日
@hubert3 不会,你可以设成每日滚动,除非你去找 00:00 这时候的日志,否则你都知道在哪找。
moe3000
2017 年 10 月 27 日
用 cronlog 分割,已有的用 split 分割
blueorange
2017 年 10 月 27 日
@murmur 定时任务脚本吗?
blueorange
2017 年 10 月 27 日
@firemiles 这个我倒是不知道诶。
blueorange
2017 年 10 月 27 日
@hubert3 还蛮好调试的呀,你只要 tail -f 你那个滚动文件就可以看日志了。
caiyongji
2017 年 10 月 27 日
zip 后删除
wq2016
2017 年 10 月 27 日
logrotate
frank0718
2017 年 10 月 27 日
tomcat/lib/log4j.properties 里面配置来自动 rotate

# Define all the appenders
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina.out
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n
blueorange
2017 年 10 月 27 日
@frank0718 tomcat/lib/目录下面没有 log4j.properties 诶
blueorange
2017 年 10 月 27 日
@wq2016 谢谢 我已经配置了, 过几天看效果。。
julyclyde
2017 年 10 月 28 日
Java 新人常见问题……唉
blueHaw
2017 年 10 月 28 日
可以使用 log4j 作为默认日志按天或者大小切割
ppwangs
2017 年 10 月 28 日
7.0 以上好像就支持 rotate 了吧。你们用的什么版本。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/401237

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX