• Tomcat7 catalina.out 日志分割


    Tomcat7 catalina.out 日志分割

    安装过程如下:
    1、下载(最新版本)
     cronolog-1.6.2.tar.gz

    2、解压缩
        # tar zxvf cronolog-1.6.2.tar.gz
    3、进入cronolog安装文件所在目录
        # cd cronolog-1.6.2
    4、运行安装
       # yum –y install gcc
        # ./configure
        # make
        # make install
    5、查看cronolog安装后所在目录(验证安装是否成功)
        # which cronolog

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

    6、要想分割tomcat7的catalina.out,需作如下工作:

    进入Tomcat的bin目录,打开catalina.sh文件,一般我们修改下面行中的内容(最好用root用户),

    (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"  
    if [ "$1" = "-security" ] ; then
        if [ $have_tty -eq 1 ]; then
          echo "Using Security Manager"
        fi
        shift
        eval "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
          -Djava.endorsed.dirs="$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 "$_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 
          >> "$CATALINA_OUT" 2>&1 "&"   
      fi
      if [ ! -z "$CATALINA_PID" ]; then
        echo $! > "$CATALINA_PID"
      fi
    改为:
    #  touch "$CATALINA_OUT"  
    if [ "$1" = "-security" ] ; then
        if [ $have_tty -eq 1 ]; then
          echo "Using Security Manager"
        fi
        shift
        eval "$_RUNJAVA" "$LOGGING_CONFIG" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
          -Djava.endorsed.dirs="$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 2>&1 
          | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
      else
        eval "$_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 "$CATALINA_OUT" >> /dev/null &
      fi
      if [ ! -z "$CATALINA_PID" ]; then
        echo $! > "$CATALINA_PID"
      fi

    7、保存 catalina.sh 文件,重启 Tomcat 即可。

    以后看到 $TOMCAT_HOME/logs/ 下的就是 catalina.2017-01-10.out, catalina.2017-01-11.out ...... 一系列文件,好像 cronolog 又没提供方式来控制归档的日志文件个数。而且这样之后,将不会产生 catalina.out 文件了。

  • 相关阅读:
    链表面试题Java实现【重要】
    数据结构Java实现05----栈:顺序栈和链式堆栈
    数据结构Java实现06----中缀表达式转换为后缀表达式
    数据结构Java实现07----队列:顺序队列&顺序循环队列、链式队列、顺序优先队列
    栈和队列的面试题Java实现,Stack类继承于Vector这两个类都不推荐使用
    MySQL多表查询之外键、表连接、子查询、索引
    MySQL字符串函数、日期时间函数
    sqlplus登录、连接命令
    LeetCode 68 Text Justification
    cocos2d触摸事件处理机制(2.x和3.x变化)
  • 原文地址:https://www.cnblogs.com/wangchunniu1314/p/6418620.html
Copyright © 2020-2023  润新知