'error'에 해당되는 글 1건

  1. 2016.01.18 logback.xml 에서 에러로그 분리

<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
Posted by 썬,더 호글
,