Tomcat 每天生成 catalina.out

Posted 幸福在靠近

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat 每天生成 catalina.out相关的知识,希望对你有一定的参考价值。

1.安装cronolog
  wget https://files.cnblogs.com/files/crazyzero/cronolog-1.6.2.tar.gz

  tar -zxvf cronolog-1.6.2.tar.gz

  cd cronolog-1.6.2

  ./configure

  make && make install

  或者 yum install cronolog

2.检查是否安装成功

  which cronolog

  正常显示 /usr/local/sbin/cronolog

3.tomcat8.5版本修改catalina.out文件

  直接将第453-491的代码

shift
  if [ -z "$CATALINA_OUT_CMD" ] ; then
    touch "$CATALINA_OUT"
    catalina_out_command=">> \\"$CATALINA_OUT\\" 2>&1"
  else
    catalina_out_command="| $CATALINA_OUT_CMD"
  fi
  if [ ! -z "$CATALINA_PID" ]; then
    catalina_pid_file="$CATALINA_PID"
  else
    catalina_pid_file=/dev/null
  fi
  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 \\
      2\\>\\&1 \\&\\& echo \\$! \\>\\"$catalina_pid_file\\" \\; \\} $catalina_out_command "&"

  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 \\
      2\\>\\&1 \\&\\& echo \\$! \\>\\"$catalina_pid_file\\" \\; \\} $catalina_out_command "&"

  fi

覆盖替换为

shift
  #touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    "$_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_BASE"/logs/catalina.%Y-%m-%d_%H.out >> /dev/null &

  else
    "$_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_%H.out >> /dev/null &

  fi

以上是关于Tomcat 每天生成 catalina.out的主要内容,如果未能解决你的问题,请参考以下文章

spring中配置quartz调用两次及项目日志log4j不能每天生成日志解决方法

Linux每天定时重启Tomcat服务

tomcat配置外部静态资源映射路径

每天学习一点(tomcat连接器优化)

catalina.out 日志每天备份

tomcat每天凌晨都是自启动报错,没有任何定时任务,报错日志如下,这个怎么解?