실무에서는 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

+ Recent posts