Tomcat 下实现 catalina.out 日志分割

  • 文档创建者:Kevin-s
  • 编辑次数:5次
  • 最近更新:Kevin-s 于 2019-12-20
  • 1. 概述

    1.1 问题描述

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

    1.2 实现思路

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

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

    2. 安装 Cronolog

    1)可于官网下载 Cronolog 软件

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

    # tar zxvf cronolog-1.6.2.tar.gz
    # cd cronolog-1.6.2
    # ./configure
    # make
    # make install

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

    # which cronolog

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

    注:也可以使用 YUM 安装:

    yum install cronolog

    3. 修改 Tomcat 的 catalina.sh 文件

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

    1)第一步:

    if [ -z "$CATALINA_OUT" ] ; then
    CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out

    改为

    if [ -z "$CATALINA_OUT" ] ; then
    CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out.%Y-%m-%d

    2)第二步

    touch "$CATALINA_OUT"

    改为

    #touch "$CATALINA_OUT"

    3)第三步

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

    改为

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

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

    image.png

    4. 重启 Tomcat

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

    若如下:

    image.png

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

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览