歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> cronolog分割Tomcat catalina.out日志,catalina.out日志分割

cronolog分割Tomcat catalina.out日志,catalina.out日志分割

日期:2017/3/6 9:28:31   编辑:學習Linux

cronolog分割Tomcat catalina.out日志,catalina.out日志分割


cronolog分割Tomcat catalina.out日志,catalina.out日志分割


Linux上tomcat的日志輸出在catalina.out裡面,隨著時間的推移,產生的日志文件會越來越大,其主要是調試中打印的一些信息占空間,比如說System.out和log等等。tomcat 的catalina.out文件的不斷擴大,導致系統磁盤空間邊變小,也不方便查看,所以使用cronolog按日期分割日志(例子裡面以天為分割單位)。
  • cronolog安裝

  • 查看cronolog安裝後所在目錄(驗證安裝是否成功)

    # which cronolog

    正常情況下顯示:

    /usr/local/sbin/cronolog

  • 要想分割tomcat的catalina.out,需作如下工作:

    Tomcat7以前的版本:

    (1)注釋掉(#)

    touch “$CATALINA_BASE”/logs/catalina.out

    (2)修改tomcat bin目錄下的catalina.sh文件中的兩處

    org.apache.catalina.startup.Bootstrap “$@” start \

    >> “$CATALINA_BASE”/logs/catalina.out 2>&1 &

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

    | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

  • 完成之後重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13樣式的日志。
  • Tomcat7以後的版本:
    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/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
  • 或者進行下面的操作步驟效果一樣(推薦):

# vi bin/catalina.sh

找到下面這行

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

類似這樣的行有2處,第一處是tomcat時帶“-security”參數的啟動,第二處是默認tomcat啟動方式,也就是else下面的那部分,我們只修改這裡。

另外還要把touch “$CATALINA_OUT"這行注釋掉。

完整的修改如下: #touch "$CATALINA_OUT" if [ "$1" = "-security" ] ; then ........ 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_BASE"/logs/catalina.%Y-%m-%d.out >>/dev/null & fi

完成之後重起Tomcat就可以看到logs文件中存在catalina.out.2015-09-13樣式的日志。

http://xxxxxx/Linuxjc/1144731.html TechArticle

Copyright © Linux教程網 All Rights Reserved