zoukankan      html  css  js  c++  java
  • 如何控制Tomcat的catalina.out的大小

     catalina.out文件,数据主要来源为:System.out 和 System.err 在控制台上直接输出的信息。

    编码时应避免使用System.out.println()和e.printStackTrace(),尽量采用logging机制记录日志。

    本文主要说的是采用cronolog工具来分割catalina.out文件

    1、工具安装
    提供两总方式
    1)可以直接用yum来安装,简单,建议用此方法即可,但是安装路径需要用which cronolog查看一下
    yum install -y cronolog httpd

    2)下载源码安装
    官方URL:http://cronolog.org/download/index.html
    输入以下步骤:
    wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
    tar xf cronolog-1.6.2.tar.gz
    cd cronolog-1.6.2
    ./configure
    make && make install

    用which cronolog可以查到安装的路径,默认应该是/usr/local/sbin/cronolog,这个路径待会在修改catalina.sh时会用到。

    2、修改Tomcat启动脚本catalina.sh
    1)
    修改:
     if [ -z "$CATALINA_OUT" ] ; then
           CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
    fi
    为:
        if [ -z "$CATALINA_OUT" ] ; then
          CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
    fi

    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/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

    注意:/usr/sbin/cronolog这个地址要使用which cronolog查看的为准

    3、重启Tomcat
    Tomcat输出日志文件分割成功,输出log文件格式为:catalina.2020-01-09.out类型。

    4、编写shell脚本,保存至/home/java/auto_del_log.sh文件(地址随意),脚本内容如下:
    find /home/java/tomcat-admin/logs -name "*.out" -type f -mtime +30 -exec rm -rf {} ; >/dev/null 2>&1

    5 配置cron,定时删除 自动删除30天以前的out日志文件即可,如果没有cron,自行百度安装
    crontab -e
    将 0 3 * * * /home/java/auto_del_log.sh 添加到任务后面
    :wq 保存退出

    6 最后 最好重启一下cron任务 

    service crond restart

    大功告成,这样再也不用担心日志不断变大,导致硬盘变满了!!!

  • 相关阅读:
    Next Permutation leetcode java
    用户上网行为管理之Panabit
    ROS之冗余线路Recursive Route
    ros的romon功能介绍以及使用条件
    nf_conntrack: table full, dropping packet. 终结篇
    nf_conntrack满之解决方法nginx报502错误
    Ros之BGP学习87-88课
    ros关于动态路由ospf优先级cost和priority的区别和联系
    ros ppp隧道up或者down的时候,可以写脚本,脚本可以调用的参数$user $local-address $remote-address $caller-id $called-id $interface
    ROS 6.X目前限速比较稳定的一个脚本小包优先
  • 原文地址:https://www.cnblogs.com/fj99/p/12172274.html
Copyright © 2011-2022 走看看