<appender name="dailyRollingFileAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>logs/join.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<FileNamePattern>logs/join_%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- keep 1000 days' worth of history -->
<maxHistory>1000</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
</encoder>
</appender>
<appender name="errorDailyRollingFileAppender"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>logs/error/error.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<FileNamePattern>logs/error/join_error_%d{yyyy-MM-dd}.log</FileNamePattern>
<!-- keep 1000 days' worth of history -->
<maxHistory>1000</maxHistory>
</rollingPolicy>
<encoder>
<Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n</Pattern>
</encoder>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
흠, 오늘은 error log 만 따로 분리하도록 해 보았다.
logback.xml을 사용하는 방법은 기본적으로 appender를 하나 설정하고 로거에 그 어펜더를 append하는 방식이다. 어펜드 하는 것은 아래와 같다.
<logger name="join" additivity="false">
<level value="DEBUG" />
<appender-ref ref="errorDailyRollingFileAppender"/>
<appender-ref ref="dailyRollingFileAppender"/>
<appender-ref ref="consoleAppender" />
</logger>
그리고 나서 logger를 생성할 때 해당하는 클래스 이름을 넣어주는 것이 아니라 이렇게 logback.xml에서 생성한 로거의 이름을 넣어주면 된다. 이렇게 생성한 로거를 사용하면 그 로거는 appender 에 규정된 대로 로그가 쌓인다. 다수의 어펜더가 있을 경우 마찬가지다. 위의 join 로거는 사용하면 dailyRollingFileAppender(노란박스) 때문에 모든 trace 이상 로거가 모두 join.log 에 쌓이지만 동시에 error level 로그는 errorDailyRollingfileAppender(파란박스) 때문에 error_join.log에 쌓인다.
로거를 사용하는 방법을 혹시나 해서 추가해놓는다.
private static final Logger LOGGER = LoggerFactory.getLogger("join");
참조 http://logback.qos.ch/manual/filters.html#levelFilter
'배운 것' 카테고리의 다른 글
command pattern (0) | 2016.01.28 |
---|---|
log4j error (0) | 2016.01.26 |
intellij 에서 maven profile 선택해서 실행하기 (0) | 2016.01.19 |
1월 첫째주 정리 (0) | 2016.01.12 |
perl chomp (0) | 2016.01.08 |