[Spring] 로그 사용하기
🦄로깅
- 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리
( spring-boot-starter-logging) 가 함께 포함된다. - 스프링 부트 로깅 라이브러리는 기본으로 다음 로깅 라이브러리를 사용한다.
- SLF4J - http://www.slf4j.org
- Logback - http://logback.qos.ch
👩💻 로그선언 하기
📌private Logger log = LoggerFactory.getLogger(getClass());
📌@Slf4j
: 롬복 사용 가능👩💻
@Slf4j
란?
- 롬복(lombok)이 제공하는 애노테이션
- private final Logger log = LoggerFactory.getLogger(getClass());
를 대신 해준다.
👩💻 로그 호출
System.out.println()
같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의로깅 라이브러리
를 사용해서 로그를 출력한다.
👩💻 로그 사용시 장점
- 쓰레드 정보, 클래스 이름과 같은 부가 정보를 함께 볼 수 있다.
- 로그 레벨에 따라 개발 서버에는 모든 로그 출력, 운영서버에서는 출력하지 않는 등 로그를 상황에 맞게 조절 할 수 있다.
- 시스템 아웃 콘솔에만 출력하는 것이 아니라 파일이나 네트워크 등, 로그를 별도의 위치에 남길 수 있다. 로그를 분할하는 것도 가능하다.
👩💻 올바른 로그 사용법
⭕ log.trace("trace log={}", name);
❌ log.trace("trace my log=" + name);
,
를 사용할 경우 : 아무런 연산이 일어나지 않는다.+
를 사용할 경우 : "trace my log"+ name이 실행되어 더하는 연산이 일어난다. trace를 쓰지않는데도 연산이 일어나면서 리소스를 사용하게 된다.
👩💻 로그 사용시 모습
🤔 @RestController를 사용하는 이유
@Controller
는 반환값이 String이면뷰 이름
으로 인식된다. 그래서 뷰를 찾고 뷰가 랜더링 된다.@RestController
는 반환값으로 뷰를 찾는 것이 아니라, HTTP 메시지 바디에 바로 입력한다. 따라서 "ok" 메시지를 받을 수 있다.
Author And Source
이 문제에 관하여([Spring] 로그 사용하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@silverbi99/Spring-로그-사용하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)