실무에서는 System.out.print() 가 아닌 로그로 출력 흐름을 파악합니다.
위의 코드를 보면,
1) RestController
: 일반 컨트롤러는 반환 값이 스트링이면 뷰 이름으로 인식됩니다. 그래서 뷰를 찾고 뷰가 렌더링됩니다.
그런대 RestController 는 HTTP message body에 바로 입력됩니다.
따라서 "ok" 를 리턴하면 실행 결과로 ok 를 바로 받을 수 있습니다.
2) Logger
: sl4j 라이브러리에 해당하는 로거를 사용했습니다.
3) log.info 명령문
- trace
- debug
- info
- warn
- error
로거는 다섯가지 메서드를 가지고 있습니다. 그냥 실행시키면 default 가 info 이기 때문에 trace 와 debug 는 출력하지 않습니다.
하지만 application.properties 에
logging.level.package명=trace
로 설정하면 그 하위인
trace, debug, info, warn, error 가 다 나옵니다.
그리고 debug 로 설정하면 debug, info, warn, error 가 나옵니다.
그래서 주로 운영서버에서는 info 로 설정하고, 개발서버는 debug, 로컬 환경에서는 trace 로 모든 로그를 확인합니다.
만약 패키지별로 로그 레벨을 설정하는게 아닌 프로젝트 루트에 대한 로그를 설정한다면
logging.level.root=trace
로 설정하면 됩니다.
다음과 같은 출력 로그를 간단히 확인할 수 있습니다.
@Sl4j
위의 로깅 변수를 선언할 필요 없이 다음 애노테이션을 넣어주면 위의 로거를 바로 사용할 수 있습니다.
'스터디' 카테고리의 다른 글
로그인 페이지는 GET ? POST ? (2) (0) | 2022.12.04 |
---|---|
로그인 페이지는 GET ? POST ? (1) (0) | 2022.12.01 |
Spring MVC (0) | 2022.11.30 |
MVC 패턴 (0) | 2022.11.28 |
백엔드에서의 HTML, HTTP 간단한 요점 (0) | 2022.11.24 |