====== 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