您的位置:首页 > 运维架构 > Tomcat

分割tomcat日志文件catalina.out

2017-07-05 15:23 351 查看
Tomcat默认安装后,catalina.out文件会随着时间的增长,越积越多,很容易到达几个G,不仅读写影响性能,给我们查询日志也带来很大的不便,需要使用一些方式分割catalina.out。

1.安装cronolog

# Ubuntu推荐安装
apt-get install cronolog

# CentOS推荐安装
yum install cronolog

# 查看是否安装完成
which cronolog
# 或
whereis cronolog

#结果(记住这个结果,后面会用到)
/usr/sbin/cronolog


2.修改tomcat bin/catalina.sh配置

vim catalina.sh

// 约196行
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
// 修改为(此处表示tomcat生成日志文件名称的格式)
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d

// 约398行
touch "$CATALINA_OUT"
// 修改为(即屏蔽此行)
# touch "$CATALINA_OUT"

// 约412行及420左右,两处
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&
// 修改为($CATALINA_OUT即为第一修改处配置的路径)
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/bin/cronolog "$CATALINA_OUT" >> /dev/null &

# 保存退出
:wq!


3.测试

关闭tomcat,清空logs文件夹,启动tomcat,logs下则不再存在catalina.out,取而代之的是catalina.out.%Y-%m-%d.txt,此文件每天生成一个。

4.总结

优点:

①.配置方便,傻瓜式操作;

②.查看其它历史日志非常方便;

③.完美的解决了tomcat日志catalina.out日渐堆积过大的问题。

缺点:

①.在线看本天日志时较麻烦,需要输入今天日志的全文件名,不像原来一样直接查看catalina.out方便;

②.在线修改系统日期后,不会生成一个新的日志文件,日志不会输出到新文件里,所以不要随意更改系统时间。

5.其他方案

使用log4j分割日志,需要在tomcat中使用一些jar包,但是遗憾的是,我参照网上的一些方式进行了配置,但没生效,所以未采用此种方式。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息