tomcat의 로그종류
 
1. catalina.out : 서버의기동,정지, 서비스의개시, 정지정보, standard output, standard error
 
2. catalina.YYYY-MM-DD.log : 서버의기동,정지, 서비스의개시, 정지정보(tomcat 자체에관한)
 
3. host-manager.log : Tomcat Host Manager Web app 로그 (가상호스트매니저)
 
4. manager.log : Tomcat Manager Web App 로그 (웹콘솔)
 
5. localhost.log : host( VirtualHost 같은) 한정한 로그
 
6. stderr.log : 표준에러출력
 
7. stdout.log : 표준출력
 
8. admin.log : tomcat web server adminstartionTool 로그
 
*catalina.out과 catalina.log 의 차이점: 서로 유사한것처럼 보이나 tomcat에서 생성하는 로그 이외에 standard output, standard error 의 로깅은 제외된다.
 
즉, 소스에서 System.out.println 이나 System.err.println 으로 남기는 로그가 있다면
 
그 내용은 오직 catalina.out 에서만 찾아볼 수 있다.
 
(standard output : 웹페이지에 코딩해논 system.out.println() 디버그 메시지 출력)
 
1. Logrotate 데몬으로 rotate 하기
 
$ cd /etc/logrotate.d
 
$ cat > tomcat
 
/var/local/tomcat/logs/catalina.out { =>톰캣의 로그가 기록될 경로로 지정
 
Copytruncate #백업본을 생성하면 원본의 내용을 지우는 형태
 
Daily           # '일'단위 파일생성 로그파일을 1일에 한번 백업
 
rotate 30      # 보관주기는 30일 단위(이후삭제?) 최대로그파일개수를30개제한
 
Missingok     # 로그파일이 생성되지 않는 경우 오류처리 하지 않음
 
notifempty   # 로그로 기록할 내용이 없을때 신규로그파일 생성안함
 
Dateext       # YYYYMMDD 형식으로 생성
 
#Compress # 'rotate' 내 로그파일은 압축보관(gzip)
 
}
 
1.1  test 해보기
 
[root@yui logrotate.d]# /usr/sbin/logrotate -d /etc/logrotate.d/tomcat6
 
reading config file /etc/logrotate.d/tomcat6
 
reading config info for /home/monwas/apache-tomcat-7.0.82/logs/catalina.out
 
 
 
Handling 1 logs
 
 
 
rotating pattern: /home/monwas/apache-tomcat-7.0.82/logs/catalina.out monthly (1 rotations)
 
empty log files are not rotated, old logs are removed
 
considering log /home/monwas/apache-tomcat-7.0.82/logs/catalina.out
 
log does not need rotating => 아직 설정값의 날짜가 되지 않아서 순환할 필요없음.
 
 
 
날짜 변경
 
[root@yui logrotate.d]# vi /var/lib/logrotate.status
 
"/home/monwas/apache-tomcat-7.0.82/logs/catalina.out" 2018-6-29 를 한달전인
 
"/home/monwas/apache-tomcat-7.0.82/logs/catalina.out" 2018-5-29 로 변경
 
 
 
실행
 
[root@yui logrotate.d]# /usr/sbin/logrotate /etc/logrotate.d/tomcat6
 
 
 
logs 디렉토리 확인
 
[WAS@yui logs]$ ls -lrt
 
total 12
 
-rw-rw-r-- 1 WAS WAS    0 Jun 29 15:55 manager.2018-06-29.log
 
-rw-rw-r-- 1 WAS WAS    0 Jun 29 15:55 host-manager.2018-06-29.log
 
-rw-rw-r-- 1 WAS WAS    0 Jun 29 15:55 localhost_access_log.2018-06-29.txt
 
-rw-rw-r-- 1 WAS WAS 1796 Jun 29 16:14 localhost.2018-06-29.log
 
-rw-rw-r-- 1 WAS WAS 8133 Jun 29 16:23 catalina.out-20180629
 
-rw-rw-r-- 1 WAS WAS    0 Jun 29 16:23 catalina.out
 
 
 
2. log level 변경
 
catalina.log info 변경
 
1catalina.org.apache.juli.FileHandler.level = INFO
 
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
 
1catalina.org.apache.juli.FileHandler.prefix = catalina.[/code]
 
catalina.out info 변경 (catalina.out은 날짜별로 log를 관리하지못함)
 
TOMCAT_HOME/conf/logging.properties 에서 아래 FINE를 INFO로 변경
 
java.util.logging.ConsoleHandler.level = FINE
 
java.util.logging.ConsoleHandler.formatter = java.util.logging.simpoleformatter
 
 
3. 불필요한 로그 없애기
 
3-1. catalina.out 삭제
 
파일의 용량이 커진다고 무조건 지우면안되고 아래를 이용해야함.
Tomcat shutdown 후 로그 삭제하고 스크립트 변경
TOMCAT_HOME/bin/catalina.sh
 
검색어 : CATALINA_OUT
 
touch "$CATALINA_OUT"
 
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 \
 
-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 \
 
#  >> "$CATALINA_OUT" 2>&1 "&"
 
>> /dev/null 2>&1 &
 
 
 
else
 
eval $_NOHUP "\"$_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 \
 
# >> "$CATALINA_OUT" 2>&1 "&"
 
>> /dev/null 2>&1 &
 
 
 
fi

+ Recent posts