개발/etc
[Log] 로그 파일 분리하기 - Log4j, Logback
zuzuu
2021. 12. 22. 14:55
반응형
프로젝트 진행 도중 특정 서비스만 로그 파일을 분리해서 저장해야될 일이 있어 아래와 같이 수정하였다.
- 수정 전
org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BasicService.class.getName());
logger.info("로그 내용");
- 수정 후
org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(BasicService.class.getName());
org.slf4j.Logger regLogger = org.slf4j.LoggerFactory.getLogger("RegLogger");
logger.info("로그 내용");
regLogger.info("로그 내용");
분리해야하는 특정 서비스만 추가된 regLogger로 변경하였다. : logger.info(""); -> regLogger.info("");
그리고 기존 log 설정 파일에 appender를 추가해 주면 된다!
<appender name="REGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/reg.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logs/reg.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 2 days' worth of history -->
<maxHistory>2</maxHistory>
</rollingPolicy>
<encoder>
<pattern>[%d] [%thread] %-5level %C{100} - %msg%n </pattern>
</encoder>
</appender>
<logger name="RegLogger" level="DEBUG">
<appender-ref ref="REGFILE" />
</logger>
※ logger 태그의 name은 org.slf4j.Logger regLogger = org.slf4j.LoggerFactory.getLogger("RegLogger"); 와 맞춰주어야 한다!
이렇게 하면 regLogger.info("로그 내용"); 로 작성된 로그만 reg.log파일에 기록된다.
728x90
반응형