220502-Logging(2)

박건희·2022년 5월 3일
0

로깅 설정은 로깅 프레임워크 설정에 따르게 됨

src/test/resources 에 logback-test.xml 파일을 넣는데,
test code에서는 main의 코드를 import할 수 있고, src/main/java/resources도 classpath에 등록되어 사용 가능
-> src/main/java/resources에도 logback-test.xml이 있으면 충돌

배포시엔 test폴더가 빠지므로, src/main/java/resources에 logback.groovy나 logback.xml을 넣는다

appender : 어디에 출력? (ConsoleAppender, FileAppender, )
encoder : 어떻게 출력?
root : level 설정(해당 level보다 같거나 위험한 로그 출력), classpath 상의 모든 logger level에 적용됨

  • logger name에 다른 제약을 줘서 method, class, package 별로 다른 level 적용 가능

appender-ref 설정시 주의사항 : log 중첩
additivity flag로 컨트롤

encoder pattern을 property로 등록

로그백 프레임워크에선 로그 생성시 로깅 이벤트가 발생한다
로깅 이벤트를 문자열로 변환(layout pattern)
문자열을 변환할 때, conversion word를 이용해서 logging event->문자열 변환을 한다
ex) d,date, logger ,...

appender를 만들어서 logger에 appender-ref로 추가

기동시마다 새 로그파일 생성(timestamp로)
보통 RollingFileAppender 자주 쓴다(장시간 구동되기 때문에 하나의 파일에 계속 append하면 파일이 커짐) - 1일 1파일

TimeBasedRollingPolicy는 Rollingpolicy와 TriggeringPolicy를 상속한 구상체

최신 로그(당일)는 logs/access.log 파일로, 그 이전의 로그는 fileNamePattern대로 로그파일이 생성된다

Conversion
ConversionRule을 이용하면 PatternLayout에서 본 것 처럼 d, date, msg 같은 conversion 문자열을 추가할 수 있음
ex) 색 지정

0개의 댓글