zoukankan      html  css  js  c++  java
  • Tomcat 日志切割 catalina.out

    在实际生产环境中,tomcat的 catalina.out日志默认是不切割的,由于看起来很不方便,以及在备份等方面都比较麻烦。是时候切割该文件了。

    环境说明

    centos 7.3

    tomcat 8.5

    1 安装软件

    配置好epel 源 并安装

    yum install cronolog -y
    

    配置epel源
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    详情请参考 https://mirrors.aliyun.com/help/epel
    不嫌麻烦的话那就可以编译安装吧,此处不做介绍

    2 修改catalina.sh文件

    一共修改四处

    vim catalina.sh
    
    199 # Add on extra jar files to CLASSPATH
    200 if [ ! -z "$CLASSPATH" ] ; then
    201   CLASSPATH="$CLASSPATH":
    202 fi
    203 CLASSPATH="$CLASSPATH""$CATALINA_HOME"/bin/bootstrap.jar
    204 
    205 if [ -z "$CATALINA_OUT" ] ; then
    第一处 大约在206行
    206   CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
    	改为
    		CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
            修改Catalina.out默认的输出格式,此处加上时间,方便识别,也可以把.out 改为其他类型,如log,txt等
    207 fi
    
    416   shift
    第二处  大约在417 行
    417   touch "$CATALINA_OUT"
    		改为 #touch "$CATALINA_OUT" (即注释掉)
    
    418   if [ "$1" = "-security" ] ; then
    419     if [ $have_tty -eq 1 ]; then
    420       echo "Using Security Manager"
    421     fi
    422     shift
    423     eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
    424       -classpath ""$CLASSPATH"" 
    425       -Djava.security.manager 
    426       -Djava.security.policy==""$CATALINA_BASE/conf/catalina.policy"" 
    427       -Dcatalina.base=""$CATALINA_BASE"" 
    428       -Dcatalina.home=""$CATALINA_HOME"" 
    429       -Djava.io.tmpdir=""$CATALINA_TMPDIR"" 
    第三处 	大约在430行
    430       org.apache.catalina.startup.Bootstrap "$@" start 
    431       >> "$CATALINA_OUT" 2>&1 "&"
    		改为
    		     org.apache.catalina.startup.Bootstrap "$@" start 2>&1 
    			|/usr/sbin/cronolog "$CATALINA_OUT"  &
               说明: /usr/sbin/cronolog 为cronolog默认安装目录,如果编译安装,此处写编译安装的目录。下同
    
    433   else
    434     eval $_NOHUP ""$_RUNJAVA"" ""$LOGGING_CONFIG"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS 
    435       -classpath ""$CLASSPATH"" 
    436       -Dcatalina.base=""$CATALINA_BASE"" 
    437       -Dcatalina.home=""$CATALINA_HOME"" 
    438       -Djava.io.tmpdir=""$CATALINA_TMPDIR"" 
    第四处 大约在439行
    439       org.apache.catalina.startup.Bootstrap "$@" start 
    440       >> "$CATALINA_OUT" 2>&1 "&"
    		改为
    		     org.apache.catalina.startup.Bootstrap "$@" start 2>&1 
    			|/usr/sbin/cronolog "$CATALINA_OUT" &
    441 
    442   fi
    

    3 重启tomcat

    到此 切割 catalina.out 的工作就完成了

    可以看到日志文件 catalina.out 已经按日期显示了

  • 相关阅读:
    洛谷提高组比赛day2
    清北合肥day2-day5
    高精度开根
    清北合肥day1
    愤怒的小鸟
    蓝书图论题
    替罪羊树&&非旋treap
    【bzoj4811】[Ynoi2017]由乃的OJ 树链剖分+线段树区间合并
    【bzoj3866】The Romantic Hero dp
    【bzoj3747】[POI2015]Kinoman
  • 原文地址:https://www.cnblogs.com/Sunzz/p/8303219.html
Copyright © 2011-2022 走看看