[Tomcat] 윈도우 톰캣 System.out.println 이 기록되지 않는 경우

[Tomcat] 윈도우 톰캣 System.out.println 이 기록되지 않는 경우

보통 자바에서 System.out.println 또는 System.err.println 으로 찍은 내용은 톰캣 catalina.out 파일에 찍힌다.

그런데 윈도우에서 톰캣을 구동하는 경우(cmd 콘솔에서 .bat 파일로 톰캣을 실행하는 경우), System.out.println 또는 System.err.println 내용이 콘솔에 출력되지만 로그 파일로 남지 않는 경우가 있다.

${catalina.base}/conf/context.xml 파일의 아래 한 줄을 추가하고 재기동한다.

<Context swallowOutput=”true”>

이 때 해당 내용은 catalina.out에 찍히는게 아니라 localhost-날짜.log 파일에 찍힌다.

참고로 swallowOutput 는 true인 경우에 system.out과 system.err로 출력한 바이트가 웹애플리케이션의 logger로 리다이렉션 되는 옵션값이며, 기본값은 false다.

참고사이트 1 : https://crazythink.github.io/categories/Tomcat/

참고사이트 2 : https://esysop.tistory.com/11