스프링 MVC MVC Logging
스프링 MVC - 기본 기능
로깅 간단히 알아보기
- System.out.println() 쓰지 않고 별도 로깅 라이브러리를 사용한다.
SLF4J
- 인터페이스고 구현체 중 하나인 Logback을 사용한다.
- @RestController 라고 하면 String이 그냥 반환된다.
@RestController public class ... { return "ok"; -> 화면 상에서 ok라고 뜬다. / @Controller 이라면 ViewResolver가 나오게 된다. }
- log 를 찍어보고 셋팅에 따라 콘솔에 출력되는것을 다르게 할 수 있다.
java 파일
@RestController public class ... { private final Logger log = LoggerFactory.getLogger(getClass()); @RequestMapping("/log-test") public String logTest(){ log.trace(...) log.debug(...) -> 아래 설정에 따라서 debug부터 info, warn, error 가 보여줌 (이점 : 운영 서버에서 log들을 레벨별로 지정해서 남길 수 있다.) log.info(...) log.warn(...) log.error(...) return "ok"; -> 화면 상에서 ok라고 뜬다. / @Controller 이라면 ViewResolver가 나오게 된다. } }
application.properties
logging.level.hello.springmvc=debug -> debug부터 log들을 보여줌
- @Controller 는 반환 값이 String 이면 뷰 이름으로 인식된다. 그래서 뷰를 찾고 뷰가 랜더링 된다.
- @RestController 는 반환 값으로 뷰를 찾는 것이 아니라, HTTP 메시지 바디에 바로 입력한다.
테스트
- LEVEL: TRACE > DEBUG > INFO > WARN > ERROR ```java
#전체 로그 레벨 설정(기본 info) logging.level.root=info
#hello.springmvc 패키지와 그 하위 로그 레벨 설정 logging.level.hello.springmvc=debug ```