zoukankan      html  css  js  c++  java
  • Linux下Tomcat日志分割

    本文主要讲述使用cronolog分割tomcat的catalina.out文件。

    1. 下载编译安装

    wget https://files-cdn.cnblogs.com/files/shidian/cronolog-1.6.2.tar.gz
    tar zxvf cronolog-1.6.2.tar.gz 
    cd cronolog-1.6.2./configure 
    make 
    make install

     2. 查看cronolog安装后所在目录(验证安装是否成功)

    which cronolog
    一般情况下显示为:/usr/local/sbin/cronolog

     如下图所示:

    3. 编辑Tomcat目录bin下的catalina.sh文件

    找到下面这个,类似这样的行有2处:

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

    第一处:Tomcat是带"-security"参数的启动。

    第二处:默认Tomcat启动方式,也就是else下面那部分,我们只修改这里。

    另外还要把touch "$CATALINA_OUT"这样注释掉。

    修改后的结果如下所示:

    #  touch "$CATALINA_OUT"
      if [ "$1" = "-security" ] ; then
        if [ $have_tty -eq 1 ]; then
          echo "Using Security Manager"
        fi
        shift
        eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
          -D$ENDORSED_PROP=""$JAVA_ENDORSED_DIRS"" 
          -classpath ""$CLASSPATH"" 
          -Djava.security.manager 
          -Djava.security.policy==""$CATALINA_BASE/conf/catalina.policy"" 
          -Dcatalina.base=""$CATALINA_BASE"" 
          -Dcatalina.home=""$CATALINA_HOME"" 
          -Djava.io.tmpdir=""$CATALINA_TMPDIR"" 
          org.apache.catalina.startup.Bootstrap "$@" start 
          >> "$CATALINA_OUT" 2>&1 "&"
    
      else
      
    #    eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
    #      -D$ENDORSED_PROP=""$JAVA_ENDORSED_DIRS"" 
    #      -classpath ""$CLASSPATH"" 
    #      -Dcatalina.base=""$CATALINA_BASE"" 
    #      -Dcatalina.home=""$CATALINA_HOME"" 
    #      -Djava.io.tmpdir=""$CATALINA_TMPDIR"" 
    #      org.apache.catalina.startup.Bootstrap "$@" start 
    #      >> "$CATALINA_OUT" 2>&1 "&"
    
    
        "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
          -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" 
          -Dcatalina.base="$CATALINA_BASE" 
          -Dcatalina.home="$CATALINA_HOME" 
          -Djava.io.tmpdir="$CATALINA_TMPDIR" 
          org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog /opt/tomcat/apache-tomcat-9.0.13/logs/catalina.%Y%m%d.out >> /dev/null &
      fi

    将原来else的脚本屏蔽掉,加入后面的这段代码。

    4. 重启Tomcat

    重启后logs目录如下所示:

    配置cronolog完成了,观察每天是否有个新的catalina.yymmdd.out的日志文件生成,定期删除日期较旧的日志文件。

    【参考资料】

    https://blog.51cto.com/12924846/2351032

  • 相关阅读:
    共享文件时提示“将安全性信息应用到以下对象时发生错误”
    ROS 5.x自动定时备份并发送到邮箱(实用)
    Android检测网络是否正常代码!
    win7提示“User Profile Service服务未能登录”
    Android-修改TabWidget字体大小颜色及对齐
    Android 实现分页(使用TabWidget/TabHost)
    解决在ScrollView中套用ListView显示不正常
    Android中finish掉其它的Activity
    Android中如何控制元素的显示隐藏?
    <jQuery> 十一. 基本动画(显示, 隐藏, 滑入, 滑出, 淡入淡出)
  • 原文地址:https://www.cnblogs.com/shidian/p/11396065.html
Copyright © 2011-2022 走看看