코딩마을방범대

Log - (4) log 설정 xml 파일에서 if문 사용하기 본문

💡 백엔드/Java

Log - (4) log 설정 xml 파일에서 if문 사용하기

신짱구 5세 2023. 5. 29. 16:36
728x90

기존 log 에서 yml문의 변수 ON, OFF 값에 따라
log level을 조정하기로 했다

logback이든 log4j든 사용하고 있는 프로젝트라는 가정 하에

우선 build.gradle에 의존성을 주입시켜준다
(if문 사용 가능하게 해주는 dependency)

// https://mvnrepository.com/artifact/org.codehaus.janino/janino
implementation 'org.codehaus.janino:janino:3.1.9'

 

설정 파일인 xml에서 아래와 같이 사용

  • ${변수명}로 property resource에서 꺼내오거나
    property("변수명")을 통해 yml 설정 파일에 자동으로 접근할 수도 있다
<!--<if condition='"${logStatus}".equals("ON")'>-->
<if condition='property("logStatus").equals("ON")'>
	<then>
		<property name="LOG_STATUS" value="INFO"/>
	</then>
	<else>
		<property name="LOG_STATUS" value="OFF"/>
	</else>
</if>

 

아래와 같이 이중 if문도 가능하다

<if condition='property("logStatus").equals("ON")'>
	<then>
		<property name="LOG_STATUS" value="INFO"/>
	</then>
	<else>
		<if condition='property("logStatus").equals("OFF")'>
			<then>
				<property name="LOG_STATUS" value="OFF"/>
			</then>
			<else>
				<property name="LOG_STATUS" value="DEBUG"/>
			</else>
		</if>
	</else>
</if>
728x90