톰캣의 catalina.out 로그가 일자가 바뀌어도 일자별로 파일이 생성되지 않고 catalina.out에 

계속 append 되는 경우가 종종 있다. 주로 리눅스 시스템에서 발생하는 듯 하다.

 

${catalina.base}/bin/catalina.sh

 

374 라인 쯔음에 보면 이런 내용이 있다.

 

3가지 작업을 해주면 된다.

 

1. catalina.out 파일 생성 주석 처리

2. 톰캣 start 시 백그라운드로 실행

3. rotatelogs 를 이용한 일자별 로그 관리


# touch "$CATALINA_OUT" // catalina.out 파일을 만드는 부분 주석 처리
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$CATALINA_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\ // 백그라운드 실행 
      | /usr/sbin/rotatelogs "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.log 86400 540 & // 일자별 로그 관리
      # >> "$CATALINA_OUT" 2>&1 "&" // 주석 처리

  
  else
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$CATALINA_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\ // 백그라운드 실행 
     | /usr/sbin/rotatelogs "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.log 86400 540 & // 일자별 로그 관리
      # >> "$CATALINA_OUT" 2>&1 "&" // 주석 처리

+ Recent posts