프로그래밍
log4j2 프로파일 (Profile) 별로 다른 설정 사용하기
codinglog
2021. 12. 20. 15:26
SpringBoot
가장 간단하게 해결된다.
resources의 application-{Profile}.properties
파일을 추가하면 프로파일에 해당하는 설정정보를 가져온다.
가령, application-dev.properties
라는 파일이 있다면 현재 프로파일이 dev 인 경우 해당 파일을 읽는다.application-prd.properties
가 있다면 프로파일이 prd 인 경우 해당 파일을 읽는다.
그러면 프로파일에 맞는 속성파일에 log4j 설정파일 경로를 설정한다.
logging.config=classpath:log4j2-dev.xml
ServletContainerInitializer
서블릿 기반 웹이면 ServletContainerInitializer
인터페이스를 이용해서 web.xml을 대체할 수 있다. 스프링을 사용한다면 org.springframework.web.WebApplicationInitializer
를 구현하여 web.xml을 대체할 수 있다.
초기화 구문에 시스템 설정정보의 프로파일명을 가져와서 log4j 설정 파일 경로를 지정한다.
String profile = System.getProperty("spring.profiles.active");
Configurator.initialize(null, "classpath:log4j2-" + profile + ".xml");
반응형