본문 바로가기
Spring/스프링 MVC

[스프링 MVC 1편] 6 - (1) 스프링 MVC 프로젝트 생성 & 로깅

by Poorm 푸름 2023. 11. 22.

 *  스프링 입문 = 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
  • @Slf4j

 

- 로그 호출

 

  • 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";
    }
}
 

 

  1. 로그 선언 @Slf4j

  2. @RestController

    • 반환값(= return)을 @Controller는 뷰로 연결, RestController문자로 연결

    • HTTP 메시지 바디에 바로 입력 → 따라서 실행 결과로 ok 메세지

  3. 요청 정보 매핑 @RequestMapping

    • 요청 정보를 매핑 (해당 URL이 호출되면 이 메서드가 호출)

    • 애노테이션을 기반으로 동작하기 때문에, 메서드의 이름은 아무거나 Ok (해당 코드에서는 logTest)

  4. 로그 출력 log.~

    1. 로그의 기본값은 info 

    2. 로그 레벨 순위

      1. trace
      2.
      debug
      3.
      info
      4. warn
      5.
      error

    3.  올바른 로그 사용법

       예)
      log.debug("data=" + data)를 사용하면
            문자 더하기 연산이 발생하므로 log.debug("data={}", data)로 출력해준다 

 

 

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