두 손끝의 창조자

log4j2 프로파일 (Profile) 별로 다른 설정 사용하기 본문

프로그래밍

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");
반응형
Comments