[스프링 MVC 1편] 6 - (1) 스프링 MVC 프로젝트 생성 & 로깅
* 스프링 입문 = window, 스프링 MVC 1편 = Mac 으로 진행합니다
* 진도 : 섹션6 - (1)~(2)
* : 자바 클래스명, : 코드, : 단축키
1. 스프링 프로젝트 생성
https://start.spring.io 클릭 → 아래와 같이 설정 → 나머지는 강의를 참고해주세요

SP를 사용하지 않기 때문에 Jar를 사용하는 것이 좋고 앞으로 스프링 부트를 사용하면 이 방식을 주로 사용한다
- Jar : 항상 내장 서버(톰캣 등) 사용, webapp 경로도 사용X
- War : 내장 서버도 사용가능 하지만, 주로 외부 서버에 배포하는 목적으로 사용
<환경설정 1_롬복>
command + , → [ Build, Execution, Deployment - Compiler - Annotation Processors ] 에서 Enable annotation processing 체크

2. Welcome 페이지(index.html) 생성
[ src - main - resources - static - index.html]
이전에는 webapp 패키지에 만들었다면 지금은 Jar 를 사용하기 때문에 [ src - main - resources - static ] 위치에 index.html 파일로 만든다 (코드는 강의 참고 바람)
(스프링 부트가 지원하는 정적 컨텐츠 위치에 /index.html 이 있으면 된다)
3. 로깅
[ src - main - java - hello.springmvc -basic - LogTestController]
- System.out.println() 같은 시스템 콘솔을 사용해서 필요한 정보를 출력하지 않고, 별도의 로깅 라이브러리를 사용해서 로그를 출력
- 로그의 수 많은 라이브러리를 통합해서 인터페이스로 제공하는 것이 SLF4J 라이브러리이다
- 로그 선언
- 방법 1
- private final Logger log = LoggerFactory.getLogger(getClass());
- 방법 2
- 4j
- 로그 호출
- info 호출
- log.info("hello")
@Slf4j
@RestController
public class LogTestController {
@RequestMapping("/log-test")
public String logTest(){
String name = "Spring";
log.trace("trace log={}", name);
log.debug("debug log={}", name);
log.info(" info log ={}", name);
log.warn(" warn log={}", name);
log.error("error log={}", name);
return "ok";
}
}
- 로그 선언 @Slf4j
- @RestController
- 반환값(= return)을 @Controller는 뷰로 연결, RestController는 문자로 연결
- HTTP 메시지 바디에 바로 입력 → 따라서 실행 결과로 ok 메세지
- 반환값(= return)을 @Controller는 뷰로 연결, RestController는 문자로 연결
- 요청 정보 매핑 @RequestMapping
- 요청 정보를 매핑 (해당 URL이 호출되면 이 메서드가 호출)
- 애노테이션을 기반으로 동작하기 때문에, 메서드의 이름은 아무거나 Ok (해당 코드에서는 logTest)
- 요청 정보를 매핑 (해당 URL이 호출되면 이 메서드가 호출)
- 로그 출력 log.~
- 로그의 기본값은 info
- 로그 레벨 순위
1. trace
2. debug
3. info
4. warn
5. error - 올바른 로그 사용법
예) log.debug("data=" + data)를 사용하면
문자 더하기 연산이 발생하므로 log.debug("data={}", data)로 출력해준다
- 로그의 기본값은 info
3. 로그 레벨 설정
[ src - main - resources - application.properties ]
- 전체 로그 레벨 설정(기본 info)
logging.level.root=info
- hello.springmvc 패키지의 로그레벨 설정 - 설정한 레벨부터 하위 레벨까지 볼 수 있다
logging.level.hello.springmvc=trace
[출처] 김영한 강사님 인프런 스프링 MVC 1편
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 - 인프런 | 강의
웹 애플리케이션을 개발할 때 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. 스프링 MVC의 핵심 원리와 구조를 이해하고, 더 깊이있는 백엔드 개발자로 성장할 수 있습니다., 원
www.inflearn.com