IT 개발

[Spring] logback, 로그백

썬프로 2022. 7. 29. 19:49
반응형

/** logback.xml **/
<appender name = "어펜더 이름" class = "ch.qos.logback.core.ConsoleAppender">    어펜더 정의 : 어떻게 로그를 찍을 것인가?
    <filter class = "ch.qos.logback.core.filter.EvaluatorFilter">    필터유형 정의
    <evaluator>
        <expression>
           return( ..... );   필터링 내용 정의
        </expression>
    </evaluator>
    <OnMismatch>NEUTRAL</Onmismatch>    필터 리턴값이 false이 경우
    <OnMatch>DENY</OnMatch>    필터 리턴값이 true인 경우
    </filter>
    <layout class = "ch.qos.logback.classic.PatternLayout">     로그 레이아웃 정의
        <pattern>%d{HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{36} - %msg%n</pattern>    로그 레이아웃 패턴 정의
    </layout>
</appender>

FilterReply Description
DENY 로그 이벤트 동작을 취소하며, 남아있는 Filter들에대하여 검증 하지 않는다.
NEUTRAL 남아있는 다음 Filter에게 검증을 넘긴다.
만약 남아있는 Filter가 없다면 로그 이벤트 정상적으로 동작된다.
ACCEPT 로그 이벤트를 정상적으로 동작시키며, 남아있는 Filter들에 대하여 검증하지 않는다.

<logger name = "로거명" additivity="false">    로거 정의, additivity : 로거가 상속되는 경우를 방지 ex. root(최상위) 로거 방지
    <level value = "DEBUG"/>    레벨 : 디버그 모드 이하일 경우
    <appender-ref ref="어펜더 이름"/>   어펜더 정의 : 위에서 정의한 어펜더로 로그를 어떻게 찍을지.
    <appender-ref ref="어펜더 이름"/>
</logger>

logger level Description
TRACE 디버그 레벨이 너무 광범위한 것을 해결하기 위해서 좀 더 상세한 이벤트
DEBUG 개발시 디버그 용도
INFO 어떠한 상태 변경과 같은 정보성 메시지
WARN 프로그램의 실행에는 문제가 없지만, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지
ERROR 어떠한 요청을 처리하는 중 문제가 발생한 상태
FATAL 심각한 에러 발생 상태

위험도 순서 : (안전) TRACE < DEBUG < INFO < WARN < ERROR < FATAL (위험)

 

/** memberService.java **/
Logger logger = LoggerFactory.getLogger("로거명");    로거팩토리를 통해 logback.xml에서 정의한 logger 객체를 생성해서 사용
logger.trace("트레이스 레벨 로그 출력");
logger.debug("디버그 레벨 로그 출력");
logger.error("에러 레벨 로그 출력");

반응형

'IT 개발' 카테고리의 다른 글

[Java] 날짜, 시간 함수 알아보기 - Date, Calendar  (0) 2023.01.11
[Spring] 트랜잭션 AOP 기능 정리  (0) 2023.01.07
[Web] API 란?  (0) 2021.12.26
[WEB] 웹(Web) 이란?  (0) 2021.12.21
[Java] 객체(Object) 란?  (0) 2021.12.18