이 파일에 모든 Auto Configuration 로직이 담겨있다.
../src/main/resources/application.properties
에서 logging.level.org.springframework=debug
코드를 추가하면 특정 패키지인 springframework
를 디버그 수준에서 로깅하겠다고 설정된다.
logging.level.org.로깅할_패키지명=로깅레벨
로깅 수준이 debug라는 걸 무슨 뜻일까?
spring에서 로깅을 할 때 얼마나 자세하게 로그를 남길지 레벨을 정할 수 있는데 기본값은 INFO로 최소한의 정보를 로깅한다면 DEBUG는 매우 구체적으로 로그를 남긴다.
- trace
- debug
- info
- warning
- error
- off
아래로 갈수록 로그가 적고 위로 갈수록 자세하게 나온다.
DEBUG 수준으로 로그를 남겨보면
===========================
CONDITIONS EVALUATION REPORT
===========================
Positive matches:
-----------------
~~~~생략
Negative matches:
-----------------
~~~~생략
-----------------
Negative mathes는 자동 설정되지 않은 항목이고
Positive matches는 자동 설정된 항목이다.
자동설정된 항목은 spring-boot-autoconfigure.jar
에 설정되어 있다.
이 의존성의 각 클래스의 역할에 대해서 알아보자.
-> Dispatcher Servlet
-> Embedded Servlet Container
: Tomcat is the default
이 클래스는 페이지 폴트가 발생하거나, 요청한 URL에 해당하는 컨텐츠가 없는 경우 White Label Error를 발생시키고
에러 로그 페이지를 보여주는 클래스다.
이 클래스로 스프링은 자동으로 오류 페이지를 설정한다.
-> Default Error Pages를 생성
Bean <-> JSON
Bean에서 JSON으로
JSON에서 Bean으로 자동으로 변화해주는 클래스