본문 바로가기
FullStack/41. WEB.WAS

톰켓 catalinaout 로그 안 쌓는법

by nakanara 2022. 1. 21.
반응형

 

Tomcat로그는 logger.properties 설정으로 로그 위치 및 보관 주기 설정이 가능하지만,
catalina 로그는 날짜 별로 기록되는 것과 별도로 logs/catalina.out 파일에 누적되어 쌓이는 로그도 있다.

해당 로그를 신경 쓰지 않고 두었다가 나중에 디스크 용량에 문제가 생길 가능성도 있다.
catalina.out 로그가 생성되지 않도록 하는 방법은 아래와 같다.

  1. catalina.sh 수정

$CATALINA_OUT 파일로 남기도록 한 구문을 /dev/null로 변경한다.

위치: tomcat/bin/catalina.sh

변경 전: >> "$CATALINA_OUT" 2>&1 "&"

변경 후: >> /dev/null 2>&1 &

 
  shift
  if [ -z "$CATALINA_OUT_CMD" ] ; then
    touch "$CATALINA_OUT"
  else
    if [ ! -e "$CATALINA_OUT" ]; then
      if ! mkfifo "$CATALINA_OUT"; then
        echo "cannot create named pipe $CATALINA_OUT. Start aborted."
        exit 1
      fi
    elif [ ! -p "$CATALINA_OUT" ]; then
      echo "$CATALINA_OUT exists and is not a named pipe. Start aborted."
      exit 1
    fi
    $CATALINA_OUT_CMD <"$CATALINA_OUT" &
  fi
  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 \
      >> /dev/null 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 \
      >> /dev/null 2>&1 & # 변경

  fi

 

2. setenv.sh 파일에 CATALINA_OUT 값 설정

tomcat/bin/setevn.sh

export CATALINA_OUT="/dev/null"

#tomcat #catalinaout

반응형