관리 메뉴

샐님은 개발중

1. 프로젝트 생성, 로그라이브러 (SLF4J) 본문

스프링 MVC 1편 -인프런 김영한/섹션6-스프링MVC - 기본 기능

1. 프로젝트 생성, 로그라이브러 (SLF4J)

샐님 2023. 7. 10. 16:29
728x90
반응형

1. https://start.spring.io/ 에서 프로젝트 생성

Jar - 항상 내장 서버 사용가능, 'webapp' 경로도 사용하지 않는다. 내장 서버 사용에 최적화되어있다. 

War - 내장 서버 사용가능, 주로 외부 서버에 배포하는 목적으로 사용.

 

1. 로깅 

 - 로깅 라이브러리를 사용해서 로그를 출력

로깅 라이브러리

 스프링 부트 라이브러리를 사용하면 스프링 부트 로깅 라이브러리가 함께 포함된다. 

 SLF4J는 인터페이스이고 그 구현체로 Logback 과 같은 로그 라이브러리를 선택하면 된다.

실무에서는 스프링 부트가 기본으로 제공하는 Logback을 대부분 사용한다.

 

 

 

package hello.springmvc.basic;

import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j // 롬북에서 log 를 쓸수 있게 제공해줌
@RestController // 반환되는 스프링이 바로 반환됨
public class LogTestController {


// private  final Logger log = LoggerFactory.getLogger(getClass());

@RequestMapping("/log-test")
    public String logTest(){
    String name = "Spring";
    System.out.println("name ="+name);
    log.trace("trace log"+name); // 이렇게 사용하면 안되는 이유 : 만약 tace를 쓰지않을 경우 연산작용이 먼저일어나기때문에 메모리 리소스 사용이 일어난다.
    log.trace("trace log={},{}", name ,"mvc"); // 파라미터만 넘긴다. 
    log.debug("debug log={}",name);
    log.info("info log={}",name);
    log.warn("warn log={}",name);
    log.error("error log={}",name);
    return "ok";
}

}

 

로그 레벨 설정 - 어느 단계 부터 보여지게 할건지 설정

application.properties

 

#전체 로그 레벨 설정(기본 info)
logging.level.root=info
#hello.springmvc 패키지와 그 하위 로그 레벨 설정
logging.level.hello.springmvc=debug

 

728x90
반응형