Log4j – WebAppRootKey 문제 발생시 처리

개발서버 설정하기 귀찮아서 Tomcat 하나에 VirtualHost설정 후 App을 때려넣다가 발생

 

한개의 컨테이너에 두개의 Webapp을 올릴 경우 나는 오류로

Log4j에서 라는 System.property(“webapp.root”)를 사용해서 발생하는 문제다.

하나의 인스턴스내에서 System.property는 공유되니까.. 한마디로 전역변수 문제라고 할 수 있다.

해결방법은

web.xml에서 앱마다 저 키값을 고유하게 지정 해 주는 것이다.

기본값 - 아무것도 설정하지 않았을 경우
<context-param>
	<param-name>webAppRootKey</param-name>
	<param-value>webapp.root</param-value>
</context-param>

앱마다 다르게 설정.
<context-param>
	<param-name>webAppRootKey</param-name>
	<param-value>app1webapp.root</param-value>
</context-param>

말 그대로 log4j에서 webapp의 root 디렉토리를 가져올 때 사용하는 값이다.

{tomcat_home}/webpaps/{app war파일명?}