在生产环境中, tomcat 目录下面 catalina.out 文件过一阵子达到几 G 的量,请问怎么处理
1
srx1982 2017-10-27 14:28:55 +08:00
删了。。。
|
2
yidinghe 2017-10-27 14:29:51 +08:00 1
1. 临时解决办法 echo "">catalina.out
2. 长期解决办法:日志输出不要直接输出到 System.out ,而是要用日志框架比如 logback,而且配置框架的时候也不要输出到标准输出,而是用滚动文件。 |
3
blueorange OP @srx1982 有没有那种可以切片的,现在看日志都很不方便 是不是可以把 catalina.out 切分
|
4
blueorange OP 意思是在生产环境中不使用 ConsoleAppender 这个?
这个也是个解决办法哟。 |
5
murmur 2017-10-27 14:38:24 +08:00
写个脚本按日拆分就可以
|
6
firemiles 2017-10-27 14:42:57 +08:00 via Android
logrotate
|
9
moe3000 2017-10-27 15:36:34 +08:00
用 cronlog 分割,已有的用 split 分割
|
10
blueorange OP @murmur 定时任务脚本吗?
|
11
blueorange OP @firemiles 这个我倒是不知道诶。
|
12
blueorange OP @hubert3 还蛮好调试的呀,你只要 tail -f 你那个滚动文件就可以看日志了。
|
13
caiyongji 2017-10-27 17:13:27 +08:00
zip 后删除
|
14
wq2016 2017-10-27 17:15:37 +08:00
logrotate
|
15
frank0718 2017-10-27 17:46:14 +08:00
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 |
16
blueorange OP @frank0718 tomcat/lib/目录下面没有 log4j.properties 诶
|
17
blueorange OP @wq2016 谢谢 我已经配置了, 过几天看效果。。
|
18
julyclyde 2017-10-28 09:03:08 +08:00
Java 新人常见问题……唉
|
19
blueHaw 2017-10-28 13:32:38 +08:00 via Android
可以使用 log4j 作为默认日志按天或者大小切割
|
20
ppwangs 2017-10-28 17:51:59 +08:00
7.0 以上好像就支持 rotate 了吧。你们用的什么版本。
|
21
peihanw 2017-10-30 10:52:10 +08:00
如果懒得配置 logging,可以试试这个小工具: https://github.com/peihanw/rotate
// Howto compile: g++ -O2 -o rotate rotate.cc |