Skip to content

tomcat log 쌓이는 것 방지하기

조회 수 38076 추천 수 0 2011.02.17 18:38:17

출처 :tenny.egloos.com/1226439

tomcat log 쌓이는 것 방지하기

우선, 톰켓 로그 설정법은

이런 곳 http://tomcat.apache.org/tomcat-5.5-doc/logging.html

그리고 또 이런 곳에 잘 나와있다. http://minaret.biz/tips/tomcatLogging.html

하지만, 이런 곳에는 http://tomcat.apache.org/faq/logging.html

톰켓은 기본적으로 catalina.out 파일을 rotate하지 않는다고 한다.
톰켓 입장에서는 당신이 로깅패키지를 쓰면 되기 때문에 문제가 없다고 하는데,,, 글쎄다...
어떻게든 로그가 계속 쌓이는 것은 막아야하지 않겠는가... ( 정말 쉬운 방법이 있으면 가르침을 주시면 참 고마울 것 같다)

System.out and System.err both print to catalina.out. But you can suppress this via the swallowOutput property and sent to different log files.
catalina.out does not rotate. But it should not be an issue because nothing should be printing to standard output since you are using a logging package, right? a thread about rotation of catalina.out



방법1. cronolog 로테이트 로깅 프로그램 사용

http://marc.info/?l=tomcat-user&m=105645816302666&w=2 

방법2. log4j 사용

http://minaret.biz/tips/tomcatLogging.html


첫 번째 방법은 패키지 설치가 귀찮아서 안해봤고, 두 번째 방법을 해보니, 로깅은 되는데, catalina.out은 계속 쌓이는 듯 하다. 뭔가 설정을 잘못한 것일 수도 있지만, 분석을 해봐도 뜻대로 catalina.out에 로깅이 중단되지는 않았다.

해보지는 않았지만, pipe 처리를 해서 rotate를 완전 다른 프로세스에게 넘기는 첫번째 방법이 더 쉬워보이기는 한다. 하지만 이 역시, 톰켓을 kill할 때, 가끔 cronolog가 혼자 살아있다는 bug report 가 있기는 하다.


이제 귀찮고 해서, shell script를 만들고 crontab에 넣어 버렸더니, 잘되기는 한다.

rotateTomcatLog.sh

#!/bin/sh

LOG_DIR=/tomcat/log/dir
DATE=`/bin/date +%Y-%m-%d`

/bin/nice /bin/cp  $LOG_DIR/catalina.out $LOG_DIR/catalina.$DATE.out
/bin/nice /bin/cat /dev/null > $LOG_DIR/catalina.out
rm -Rf $LOG_DIR/*.log


#
# delete out-of-date catalina.log
#

DELETE_DATE=`/bin/date +%Y-%m-%d --date '20 day ago'`
#DELETE_DATE`/bin/date +Y-%m-%d --date '1 month ago'`

echo "$LOG_DIR/catalina.$DELETE_DATE.out"

for file in $LOG_DIR/*
do
        if [[ "$file" < "$LOG_DIR/catalina.$DELETE_DATE.out" ]]
        then
                rm -f $file
        fi
done

# end of file

위 스크립트는 cataline.out 하루에 한 번씩 rotate하고, backup 파일은 20일 동안 보관한다.
뭐 취향에 맞게 바꿔써도 무방할 것 같지만, 괜하게 log를 copy하는 부하가 맘에 걸린다.

/etc/logrotate.d/ 밑의 설정처럼 rotate도 하면서 backup 파일 보관 기간까지 설정하면서,
날짜와 크기 제한까지 같이 두는 설정이 있으면 좋겠다.
(log4j는 날짜로 로테이트하면서, 크기 제한까지 두지는 못하는 것 같다.)








profile

일요일은 짜빠게뤼~ 먹는날~^^

엮인글 :
http://adminplay.com/36657/ad2/trackback
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
347 Linux Command 로 Mysql table drop 방법 ADMINPLAY 2014-04-07 5701
346 What are the bandwidth requirements for running a BigB... ADMINPLAY 2013-05-06 5920
345 ctime, mtime, atime 다른 점 설명 ADMINPLAY 2014-02-07 5953
344 리눅스에서 GNU Parted로 4K 섹터 디스크 파티션 정렬하기 ADMINPLAY 2016-06-02 6007
343 gcc Library 경로 지정 ADMINPLAY 2014-04-07 6013
342 Installing NGINX, PHP, and MySQL on Ubuntu 10.04 LTS u... ADMINPLAY 2013-04-11 6020
341 Strace - 시스템콜과 신호 추적 file ADMINPLAY 2014-02-25 6046
340 vimrc 설정 file ADMINPLAY 2014-03-01 6088
339 웹서버 트래픽 시각화 logstalgia l2zeo 2013-05-03 6090
338 특정 데몬의 메모리 점유율 확인하기 ADMINPLAY 2013-05-12 6131
337 CentOS 5.6 + NginX 0.8.54 + Django 1.3 (FastCGI) + Pyt... ADMINPLAY 2014-03-28 6169
336 telnet 과 ssh 의 차이점 ADMINPLAY 2014-03-01 6459
335 ModSecurity 로그파일의 사이즈가 너무 큰데 이를 날짜나 ... file ADMINPLAY 2013-12-29 6536
334 웹 언어별 no-cache 리스트 ADMINPLAY 2013-04-22 6641
333 Hamlet 은 “웹서버 모니터링 오픈소스 솔루션” 입니다. ADMINPLAY 2014-07-07 6696
332 우분투 네트웍크 설정 ADMINPLAY 2012-10-30 6728
331 OS X 매버릭스가 NAS, 윈도우 PC 등 SMB 장비에 연결하지 ... ADMINPLAY 2014-03-04 6740
330 Squid 의 캐시 저장 기간 설정 ( refresh_pattern ) ADMINPLAY 2012-05-18 6873
329 vi 이미 읽은 파일의 인코딩 변경하기 ( euc-kr 로 encodi... ADMINPLAY 2014-05-31 6909
328 ZFS 로 SSD 캐쉬 RAID ISCSI 노하드 서버 쉽게 만들자 ADMINPLAY 2016-05-17 6945

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234