====== Tomcat Log ====== * [[http://tomcat.apache.org/tomcat-6.0-doc/logging.html|Apache Tomcat 6.0 - Logging in Tomcat]] * [[http://tomcat.apache.org/tomcat-7.0-doc/logging.html|Apache Tomcat 7 - Logging in Tomcat]] ===== catalina.out ===== ==== 아예 생성안하게 ==== * ''catalina.out''을 삭제하려면 ''catalina.sh'' 파일 내용중에서 **CATALINA_OUT** 설정부분을 다음과 같이 바꾼다. 아니면 환경변수로 설정해도 된다. CATALINA_OUT=/dev/null ==== logrotate ==== * 리눅스 [[linux:logrotate|logrotate]] 명령의 ''copytruncate'' 옵션을 사용하는것이 좋다. /path/to/catalina.out { daily dateext rotate 5 missingok copytruncate compress } ==== cronolog ==== * [[http://www.tomcatexpert.com/knowledge-base/rotating-catalinaout-log-files|Rotating catalina.out log files]] * cronolog보다는 logrotate가 압축을 지원하는 등 더 강력해 보인다. ===== JULI ===== * Tomcat은 기본적으로 ''java.util.logging'' 패키지를 사용한다. * 기본 로깅 설정 파일은 ''$CATALINA_BASE/conf/logging.properties''이다. * 환경변수 ''LOGGING_CONFIG=-Djava.util.logging.config.file=파일경로'' 형태로 설정할 수 있다. * [[http://docs.oracle.com/javase/6/docs/api/java/util/logging/Formatter.html|Formatter]]를 직접 구현하여 jar로 묶어 배포할 수 있다. 이때 해당 jar는 ''$CATALINA_HOME/bin/setenv.sh''에서 클래스패스로 지정해줘야한다. CLASSPATH=$CATALINA_HOME/lib/my_formatter.jar * Formatter를 지정하지 않으면 기본 [[http://docs.oracle.com/javase/6/docs/api/java/util/logging/SimpleFormatter.html|SimpleFormatter]]를 사용한다. * [[http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/juli/AsyncFileHandler.html|AsyncFileHandler]] Tomcat 7에서는 AsyncFileHandler로 비동기 파일 저장이 가능하다. * 모든 로그를 콘솔로 찍게 하기 - ''conf/logging.properties'' # 아래처럼 ConsoleHandler만 남겨두면 모든 로그를 Standard Out으로만 찍는다. handlers = java.util.logging.ConsoleHandler .handlers = java.util.logging.ConsoleHandler java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter