728x90
개발자라면 꼭 필요한 Logger를 통한 로그관리 방법과 사용하는 이유 및 설정방법을 알아보자 !
- 먼저 사용방법은 간단하다.
- 로깅 라이브러리는 @slf4j 을 사용하여 내가 로그를 남길 컨트롤러 클래스에 선언을 해주고 메소드 내에서 사용하면 된다.
@slf4j
public class MainController(){
private final Logger LOGGER = LoggerFactory.getLogger(MainController.class.getName());
public void moveMainPage(){
LOGGER.info("Hello world!");
}
}
- 그럼 다음과 같이 콘솔창에 찍힐 것이다(자세한 정보가 함께 출력!!)
(참고로 로그 레벨은 TRACE > DEBUG > INFO > WARN > ERROR 이다.)
- 아래처럼 기존의 System.out.println 에 익숙한 사람들에게는 logger를 굳이 써야할 필요를 못느낄 수 있다.
- 하지만 위 콘솔에 출력된 것을 보면 차이를 확실히 알 수 있다.
- System.out으로 로그를 찍을 경우 에러발생 시 추적할 수 있는 최소한의 정보가 없다.
- 따라서, 단순히 로깅을 떠나 협업하는 개발자들을 위해 System.out은 지양하고 더 자세한 정보를 제공하는 로깅 라이브러리를 사용해야 할 필요가 있다.
(참고) 그렇다면 로그 설정은 어떻게 하는가 ?
log4j2.xml을 생성한 후 내가 로그를 찍을 클래스의 경로를 다음과 같이 입력하면 된다.
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%d %5p [%c] %m%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="egovframework.ECALL_O.main.web" level="INFO" additivity="FALSE">
<AppenderRef ref="console" />
</Logger>
</Loggers>
</Configuration>
출처: https://haenny.tistory.com/3 [Haenny]
728x90
'JAVA' 카테고리의 다른 글
Optional.of 와 Optional.ofNullable 의 차이 (0) | 2022.05.13 |
---|---|
롬복(lombok) .. 그 기능에 관해서 (0) | 2022.03.31 |
[디자인 패턴]Builder pattern 이란? (0) | 2022.03.22 |
Java 8 LocalDateTime 직렬화 역직렬화 오류 (0) | 2022.03.02 |
스트림의 기본 및 간단한 특징 (0) | 2022.02.14 |