[자바] 로그, log4j2

6379 단어 독학자바독학

로그(Log)

  • 소프트웨어가 실행되는 기록

자바 로깅프레임워크

SLF4j

  • 로깅 프레임워크를 위한 인터페이스
    • 구현체 종류에 상관없이 일관된 코드 작성 가능
    • 다른 로깅 프레임워크로 간편하게 전환 가능
  • 직접 구현해서 사용하는 것도 가능
    • 롬복 사용시에는 클래스 단에 @Slf3j 부착
private static final Logger logger = 
						LoggerFactory.getLogger(로그 정보를 가져올 클래스);
참고 https://prde.tistory.com/69?category=938850

주요메서드

  • 레벨에는 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

  • 2015년 기준으로 개발 중단됨

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(로그 정보를 가져올 클래스);

참조

https://codingwanee.tistory.com/entry/WEBSPRING-%EB%A1%9C%EA%B7%B8-Log-%EC%82%B4%ED%8E%B4%EB%B3%B4%EA%B8%B0
https://pakss328.medium.com/log4j2-xml-%EC%84%A4%EC%A0%95-a3aa0d1bea2f
https://byul91oh.tistory.com/176
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte3:fdl:logging:log4j_2:%EC%84%A4%EC%A0%95_%ED%8C%8C%EC%9D%BC%EC%9D%84_%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94_%EB%B0%A9%EB%B2%95

좋은 웹페이지 즐겨찾기