로깅 라이브러리
스프링 부트 라이브러리 사용
>> 스프링 부트 로깅 라이브러리(spring-boot-starter-logging) 포함
Logback, Log4J, Log4J2 등 수많은 라이브러리
>> 통합 인터페이스 SLF4J 라이브러리
>> 실무에서는 스프링 부트가 기본 제공하는 구현체인 Logback 대부분 사용
@RestController
반환 값이 String이면 뷰 이름으로 인식
>> 뷰를 찾고 뷰가 렌더링됨
반환 값으로 뷰를 찾는 것이 아니라 HTTP 메시지 바디에 바로 입력
>> 실행 결과 ok 메세지 받음
테스트
로그가 출력되는 포멧 확인
>> 시간, 로그 레벨, 프로세스 ID, 쓰레드 명, 클래스 명, 로그 메시지
로그 레벨 설정
>> TRACE > DEBUG > INFO > WARN > ERROR
>> 개발 서버 debug 출력, 운영 서버 info 출력
@Slf4j로 변경
올바른 로그 사용
log.debug("data="+data)
>> 로그 출력 레벨을 info로 설정해도 해당 코드의 문자 더하기 연산 발생
>> 사용 x
log.debug("data={}", data)
>> 로그 출력 레벨을 info로 설정하면 아무일도 발생 x
>> 앞과 같은 의미없는 연산 발생 x
>> 사용 o
로그 사용 장점
쓰레드 정보, 클래스 이름 같은 부가 정보 제공하고 출력 모양 조정 가능
로그 레벨에 따라 개발 서버, 운영 서버를 분리하여 상황에 맞게 조절 가능
시스템 아웃 콘솔 뿐 아니라 파일이나 네트워크 등 로그를 별도의 위치에 남기기 가능
성능이 일반 System.out보다 좋음(내부 버퍼링, 멀티 쓰레드 등)
'Java+' 카테고리의 다른 글
+ / 의존성 주입 (0) | 2025.03.16 |
---|---|
+ / 테스트 주도 개발 (0) | 2025.03.15 |