Tomcat 下实现 catalina.out 日志分割

我是社区第238588位番薯,欢迎点我头像关注我哦~
1. 概述1.1 问题描述

由于 Tomcat 的 catalina.out 日志量不断增加,占用空间较大,且默认是不滚动的,不便于分析问题。因此需要对其进行日志分割,并进行清理。

1.2 实现思路

使用软件 Cronolog 对 catalina.out 文件进行分割。

Cronolog的使用可参阅:日志分隔工具Cronolog的使用

2. 安装 Cronolog

1)可于官网下载 Cronolog 软件

2)进入压缩包路径:/usr/local/ ,可更换成其他,输入以下 Linux 命令进行解压:

  1. # tar zxvf cronolog-1.6.2.tar.gz
  2. # cd cronolog-1.6.2
  3. # ./configure
  4. # make
  5. # make install
复制代码

3)查看 Cronolog 安装后所在目录,验证安装是否成功,输入以下代码:

  1. # which cronolog
复制代码

结果显示为:/usr/local/sbin/cronolog表示安装成功。

注:也可以使用 YUM 安装:

  1. yum install cronolog
复制代码
3. 修改 Tomcat 的 catalina.sh 文件

修改 Tomcat 的 bin 目录下的 catalina.sh 文件,具体的修改步骤如下:

1)第一步:

  1. if [ -z "$CATALINA_OUT" ] ; then
  2. CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
复制代码

改为

  1. if [ -z "$CATALINA_OUT" ] ; then
  2. CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d
复制代码

2)第二步

  1. touch "$CATALINA_OUT"
复制代码

改为

  1. #touch "$CATALINA_OUT"
复制代码

3)第三步

  1. org.apache.catalina.startup.Bootstrap "$@" start \
  2. >> "$CATALINA_OUT" 2>&1 "&"
复制代码

改为

  1. org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
  2. |/usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
复制代码

注:该修改共有两处位置需要更改,修改后如下图:

4. 重启 Tomcat

重启 Tomcat 后,查看日志是否分割成功。

若如下:

则证明切割成功,后可依据这些日志文档进行分析。


编辑于 2020-9-25 15:21  

发表于 2020-9-25 15:42:13
来划个水
发表于 2021-4-13 15:20:33
挺 好的, 可惜我没试验成功,  报这个错"|/usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &"
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

3回帖数 4关注人数 4108浏览人数
最后回复于:2021-4-13 15:20

返回顶部 返回列表