SLF4J(Simple Logging Facade for Java)와 Logback을 활용하여 애플리케이션의 로깅을 관리함.
각 클래스에서 로깅을 위해 Logger 객체를 생성하여 다양한 레벨의 로그를 출력함.
// 로거 생성
private Logger logger = LoggerFactory.getLogger(this.getClass());
// 로그 출력 예제
logger.trace("RegisterController trace log...");
logger.debug("RegisterController debug log...");
logger.info("RegisterController info log...");
logger.warn("RegisterController warn log...");
logger.error("RegisterController error log...");
logger.error()를 활용하여 오류 내용을 기록try {
conn = getConnection();
psmt = conn.prepareStatement(SQL.INSERT_CUSTOMER);
psmt.setString(1, dto.getCustId());
psmt.setString(2, dto.getName());
psmt.setString(3, dto.getHp());
psmt.setString(4, dto.getAddr());
psmt.executeUpdate();
closeAll();
} catch (Exception e) {
e.printStackTrace();
logger.error(e.getMessage()); // 로그 기록
}
logback.xml)/logs/ch11.log 파일에 로그 기록DEBUG
TRACE < DEBUG < INFO < WARN < ERROR < FATALINFO 또는 ERROR로 변경 가능<configuration>
<!-- 콘솔 어펜더 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>
</encoder>
</appender>
<!-- 파일 어펜더 설정 -->
<property name="NAME" value="ch11"/>
<property name="PATH" value="/logs/"/>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>${PATH}/${NAME}.log</file>
<append>true</append>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} -%kvp- %msg%n</pattern>
</encoder>
</appender>
<!-- 로그 레벨 설정 -->
<root level="debug">
<appender-ref ref="STDOUT"/>
<appender-ref ref="FILE"/>
</root>
</configuration>