반응형
이 글에서는 자바에서 SLF4J를 이용하여 예외를 로깅하는 방법에 대해 알아볼 것이다. slf4j-simple API를 이용하도록 하겠다.
일반적으로, 대부분의 예외들은 Logger 클래스의 error() 메서드로 로그를 남긴다.
void error(String msg);
void error(String format, Object... arguments);
void error(String msg, Throwable t);
우선 Logger를 먼저 초기화하도록 하자.
Logger logger = LoggerFactory.getLogger(NameOfTheClass.class);
만약 단순히 에러 메시지만을 보여주고 싶다면, 다음과 같이 추가할 수 있다.
logger.error("An exception occurred!");
ERROR packageName.NameOfTheClass - An exception occurred!
위 방법은 충분히 심플하지만, 예외와 관련한 정보를 좀 더 추가하고 싶다면(stack trace를 포함하여) 다음과 같이 쓸 수 있다.
logger.error("An exception occurred!", new Exception("Custom exception"));
ERROR packageName.NameOfTheClass - An exception occurred!
java.lang.Exception: Custom exception
at packageName.NameOfTheClass.methodName(NameOfTheClass.java:lineNo)
매개변수가 여러 개인 경우에 마지막 매개변수로 exception을 넣어주면, SLF4J는 마지막 인수를 예외로 추론해 처리한다.
logger.error("{}, {}! An exception occurred!",
"Hello",
"World",
new Exception("Custom exception"));
ERROR packageName.NameOfTheClass - Hello, World! An exception occurred!
java.lang.Exception: Custom exception
at packageName.NameOfTheClass.methodName(NameOfTheClass.java:lineNo)
반응형
'Java' 카테고리의 다른 글
[Java] 스레드 풀(ThreadPool) 이란? ThreadPool 종류 (0) | 2024.03.12 |
---|---|
[Java] SerialVersionUID 란? (0) | 2024.02.20 |
[Java] Unchecked Exception에 관한 논쟁 (0) | 2024.02.01 |