자바 애플리케이션에서 예외 로깅은 중요한 디버깅 도구입니다. SLF4J(Simple Logging Facade for Java)는 다양한 로깅 프레임워크를 간편하게 사용할 수 있도록 해주는 로깅 API입니다. 이 글에서는 SLF4J를 사용하여 예외를 로깅하는 방법에 대해 알아보겠습니다.
SLF4J 설정
SLF4J를 사용하기 위해서는 먼저 SLF4J 라이브러리를 프로젝트에 추가해야 합니다. Maven을 사용하는 경우, pom.xml
파일에 다음 의존성을 추가합니다:
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.32</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.32</version>
</dependency>
</dependencies>
위의 의존성은 SLF4J API와 SLF4J의 기본 구현체인 Simple Logger를 추가하는 것입니다. Simple Logger는 단순한 출력을 제공하기 때문에 개발 및 테스트 환경에서 유용합니다.
로깅 코드 작성
SLF4J API를 사용하여 예외를 로깅하는 코드는 다음과 같습니다:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ExampleClass {
private static final Logger logger = LoggerFactory.getLogger(ExampleClass.class);
public static void main(String[] args) {
try {
// 예외가 발생할 수 있는 코드
throw new Exception("예외 발생!");
} catch (Exception e) {
logger.error("예외 발생:", e);
}
}
}
위의 코드에서 LoggerFactory.getLogger()
메서드를 사용하여 로깅 객체를 얻습니다. 이 메서드에는 현재 클래스의 클래스 객체를 전달합니다. 이를 통해 로그에 클래스 이름이 표시됩니다.
예외가 발생하는 부분에서 logger.error()
메서드를 사용하여 예외를 로깅합니다. 이 메서드는 예외 메시지와 예외 객체를 인수로 받습니다. 예외 객체를 인수로 전달하여 예외에 대한 추가 정보를 기록할 수 있습니다.
로깅 레벨 설정
SLF4J의 로그 레벨은 trace, debug, info, warn, error로 나뉩니다. 기본적으로 Simple Logger는 로깅 레벨을 info
로 설정합니다. 로깅 레벨을 변경하려면 simplelogger.properties
파일을 프로젝트의 클래스 경로에 추가하고 원하는 로그 레벨을 설정합니다.
예를 들어 simplelogger.properties
파일을 다음과 같이 작성하여 로그 레벨을 debug
로 설정할 수 있습니다:
org.slf4j.simpleLogger.defaultLogLevel=debug
결론
SLF4J를 사용하여 예외를 로깅하는 것은 중요한 디버깅 도구입니다. SLF4J를 사용하면 다양한 로깅 프레임워크를 유연하게 사용할 수 있으며, 로깅 레벨 설정 등 다양한 기능을 제공합니다. SLF4J를 사용하여 애플리케이션에서 예외를 효율적으로 로깅해보세요!