logback if condition 사용 시 주의 사항
logback을 이용하여 개발, 스테이징, 라이브 환경에 따른 로그 레벨을 분기하기 위해서 다음과 같이 조건문을 추가하였다.
<if condition='p("spring.profiles.active").equals("dev")'>
<then><property name="LOG_LEVEL" value="DEBUG" /></then>
</if>
<if condition='p("spring.profiles.active").equals("rc")'>
<then><property name="LOG_LEVEL" value="INFO" /></then>
</if>
<if condition='p("spring.profiles.active").equals("live")'>
<then><property name="LOG_LEVEL" value="INFO" /></then>
</if>
<root level="${LOG_LEVEL}">
<appender-ref ref="APP_FILE" />
</root>
spring.profiles.active의 값은 java 실행 시 -Dspring.profiles.active="dev" 아규먼트를 추가하여 각 서버를 구분지었다. 헌데 웹 애플리케이션을 구동하면 로그 레벨이 각 환경에 맞게 적용이 안 된다.
문제는 janino library가 추가되어 있어야 했다.
pom.xml 파일에 아래 라이브러리를 추가하여 문제 해결
<dependency>
<groupId>org.codehaus.janino</groupId>
<artifactId>janino</artifactId>
<version>2.6.1</version>
</dependency>
'프로그래밍' 카테고리의 다른 글
jackson JSON 사용 중 UnrecognizedPropertyException 발생 시 (2) | 2014.02.15 |
---|---|
spring security ajax session timeout 체크 방법 (1) | 2014.01.08 |
Ant style pattern 정리 (399) | 2014.01.06 |
spring mvc:resources를 이용한 정적 리소스 캐쉬 문제 해결 방안 (0) | 2014.01.02 |
jquery는 JSON.parse()를 사용한다. (0) | 2013.10.18 |
숫자섞기 알고리즘 (0) | 2013.10.17 |
자바스크립트 inline? external? (0) | 2013.10.17 |
sitemesh 설정 (0) | 2013.09.02 |