로그(Log)
자바 로깅프레임워크
SLF4j
- 로깅 프레임워크를 위한 인터페이스
- 구현체 종류에 상관없이 일관된 코드 작성 가능
- 다른 로깅 프레임워크로 간편하게 전환 가능
- 직접 구현해서 사용하는 것도 가능
- 롬복 사용시에는 클래스 단에 @Slf3j 부착
private static final Logger logger =
LoggerFactory.getLogger(로그 정보를 가져올 클래스);
주요메서드
- 레벨에는 fatal, error, warn, info, debug 입력 가능
logger.레벨(Object message)
logger.info("로그출력");
출력값-> INFO: 로그출력
logger.레벨(Object message, Throwable t)
- 콘솔창에 레벨:메세지 예외 형식으로 로그 출력
try {
...
} catch (Exception e) {
logger.error("Error at TestServlet", e);
}
출력값-> ERROR:Error at TestServlet 에러정보
log4j
logback
- log4j에서 성능이 향상된 버전
- 필터링, 자동리로드 가능
log4j2
- 필터링, 자동리로드 및 사용자 정의, 람다표현식, 비동기 로깅 지원
log4j2
- WEB-INF/classes에 log4j2.xml 파일 작성
- log4j2는 properties형식을 이용한 환경설정을 지원하지 않음
log4j2.xml
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" >
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>
<Appenders>
<Logger>
사용
private static final Logger logger =
LoggerFactory.getLogger(로그 정보를 가져올 클래스);
참조