0. 알아 두어야할 정보
0.1 Level
로그 레벨 | 설명 |
---|
FATAL | 아주 심각한 에러가 발생한 상태. 일반적인 어플리케이션에서는 사용할 일이 없음 |
ERROR | 요청을 처리하는 중 문제가 발생한 상태 |
WARN | 실행에는 문제가 없으나 향후 에러가 발생할 수 있는 경고성 메시지 |
INFO | 로그인, 상태변경과 같은 정보성 메시지 |
DEBUG | 디버그 용도로 사용하는 메시지 |
TRACE | 디버그 레벨보다 상세한 이벤트를 나타내는 메시지 |
- 로그 레벨은 FATAL > ERROR > WARN > INFO > DEBUG > TRACE 순서를 가지며,
DEBUG을 로그 레벨로 지정하면 상위 레벨인 FATAL ~ DEBUG까지 로그가 출력이 됩니다.
1. pom.xml에 Dependency 추가
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.1</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.17.1</version>
</dependency>
</dependencies>
2. src/main/resources에 log4j2.xml 생성
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="%style{%d{yyyy/MM/dd HH:mm:ss,SSS}}{cyan} %highlight{[%-5p]}{FATAL=bg_red, ERROR=red,
INFO=green, DEBUG=blue} [%C] %style{[%t]}{yellow}- %m%n -"/>
</Console>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="console" />
</Root>
</Loggers>
</Configuration>
3. 실행
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class HelloWorld {
private static final Logger logger = LogManager.getLogger(HelloWorld.class);
public static void main(String[] args) {
logger.info("trace");
}
}