Springboot

[Springboot] 환경변수로 로그 레벨 관리하기

홍또~ 2022. 7. 28. 10:36

Spring boot 로그를 관리하다 보면, 로컬/개발/테스트/운영 마다 로그레벨을 다르게 해야할 필요가 있을것이다.

이때, 여러가지 방식이 있을 수 있지만 서버의 환경변수(또는 ConfigMap) 로 로그를 관리할 수 있는 방법을 소개한다.

 

1. Spring boot main class에  로그레벨이 명시되어있는 환경변수를 가져오고 Property에 set 한다.

public class MainApplication {

	System.setProperty("loglevel" , System.getenv("LOG_LEVEL"));

	MainApplication.run(MainApplication.class , args);
}

 

2. logback.xml 의 로그 레벨을 "${Property변수}" 로 동적 관리 설정을 한다.

<root level ="${logLevel}" additivity="false">
	<appender-ref ref="CONSOLE"/>
    </root>

 

이 두개를 응용하면, 환경별 다른 로그레벨로 운영이 가능할것이다.

'Springboot' 카테고리의 다른 글

[Springboot] Failed to configure a DataSource 에러 뜰때  (0) 2022.08.03