Tomcat Logging 설정

Tomcat Logging 설정

Apache Tomcat 과 같은 서버 환경에서는 테스트 때와 다르게 경로 설정이 제한적이다. 절대경로를 이용하여 지정해도 되지만 실제 배포 환경에서는 해당 경로를 허용하지 않을 가능성에 99.9999% 이기 때문에 서버의 환경과 일치하는 설정으로 로깅의 경로를 지정하는 것이 중요하다.

서버 실행 환경 변수 설정

서버 실행 시 사용할 변수를 지정할 수 있다.

이클립스 메뉴에서 RunRun Configurations... 로 들어간다.

좌측 메뉴에서 현재 사용중인 서버를 선택하고 Arguments 탭을 누르면 실행 시 추가될 인자를 설정할 수 있다.

VM arguments 의 입력칸 마지막에 띄어쓰기를 한 칸 추가하고 다음과 같이 작성한다.

-Dlogdir="로그저장위치" 

저장위치에는 실제 로그가 저장될 경로를 작성하며, 쌍따옴표를 써야 경로에 띄어쓰기가 있어도 인식이 가능하다. 이와같이 설정을 마쳤다면 log4j.xml에서 등록된 내용을 변수로 사용할 수 있다. -Dlogdir이라는 이름에서 -D를 제외한 logdir은 변수명으로 사용할 값이며 임의로 설정할 수 있다.

log4j.xml의 경로 설정을 다음과 같이 변경한다

<appender name="daily" class="org.apache.log4j.DailyRollingFileAppender">
	<param name="file" value="${logdir}/daily"></param>
	<param name="append" value="true"></param>
	<layout class="org.apache.log4j.PatternLayout">
		<param name="ConversionPattern" value="%-5p: %m - %c (%d{yyyy-MM-dd HH:mm:ss})%n" />
	</layout>
	
	<param name="DatePattern" value="'-'yyyy-MM-dd'.log'"></param>
</appender>

value에 ${logdir}/daily라고 작성하여 등록한 설정값을 가져와 사용하며, 환경이 달라져도 서버에 설정이 이루어져있다면 배포 환경에서도 무리 없이 돌아갈 수 있다. 배포환경과의 약속을 토대로 변수를 만들어 원하는 경로를 지정하여 사용할 수 있다.

Last updated