system.out.prinln()

대신에 로깅 라이브러리 사용!

로그 라이브러리에는 수 많은 종류가 있는데 이것들을 통합해서 인터페이스로 제공하는 것이 SLF4J

테스트

  • 로그 출력 포멧
    : 시간, 로그 레벨, 프로세스 ID, 쓰레드 명, 클래스명, 로그 메시지
  • 로그 레벨
    TRACE > DEBUG > INFO > WARN > ERROR
    개발 서버는 debug부터
    운영 서버는 info부터
    --> 상황에 맞게 log level 조절 가능
    --> 시스템 아웃 콘솔에만 출력하는 것이 아니라 파일이나 네트워크 등, 로그를 별도의 위치에 남길 수 있음
    --> 성능도 더 뛰어남(내부 버퍼링, 멀티 쓰레드 등)

--> 로그 설정


--> properties에 다음과 같이 로그 레벨 설정
--> properties 설정 안해주면 기본으로 info 부터 로그 출력


--> SlF4j 롬복 쓰면 다음과 같은 객체 선언 필요 없음

log.trace("trace log={}",name) vs log.trace("trace log="+name)

log.trace 호출 전에 '+' 연산이 먼저 실행됨.
--> 의미없는 연산이 실행됨

매핑 정보

  • @Controller 는 반환값이 String 이면 뷰 이름으로 인식된다. 따라서 뷰를 찾고 뷰가 렌더링 된다
  • @RestController 는 반환 값으로 뷰를 찾는 것이 아니라 HTTP 메시지 바디에 바로 입력된다. 따라서 실행 결과로 ok 메시지를 받을 수 있다. 이는 @ResponseBody와 관련이 있다.
profile
코딩일지..

0개의 댓글