728x90
로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데, 그것을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리다
SLF4J는 인터페이스이고, 그 구현체로 Logback 같은 로그 라이브러리를 선택하면 된다.
로그 선언
- private Logger log = LoggerFactory.getLogger(getClass());
- private static final Logger log = LoggerFactory.getLogger(Xxx.class)
- @Slf4j : 롬복 사용 가능
로그 호출
- log.info("hello")
실무에서는 항상 로그를 사용해야 한다.
package hello.springmvc.basic;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
// @Controller 문자열을 반환시 뷰 템플릿 이름 반환
@Slf4j
@RestController // 문자열을 리턴시 해당 문자열을 http 바디에 문자열을 바로 입력
public class LogTestController {
// 로거 패키지는 slf4j 사용
/// @Slf4j 어노테이션 작성시 아래 적은거와 마찬가지
//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);
log.debug(" debug log={}", name);
//(default) 운영서버에서는 info
log.info(" info log={}", name);
log.warn(" warn log={}", name);
log.error(" error log={}", name);
// 로그 작성시 포맷팅으로 표시
// 이렇게 표시하면 출력 로그레벨이 아니어도 문자열 합 계산 실행
log.trace(" trace log="+ name);
return "ok";
}
}
application.properties
# 전체 로그 레벨 설정(기본 info)
logging.level.root=info
#hello.springmvc 패키지와 그 하위 로그 레벨 설정
#(default) 운영서버에서는 info
logging.level.hello.springmvc=debug
728x90
'백엔드 > Spring(Boot)' 카테고리의 다른 글
스프링 API 개발 기초 (0) | 2021.09.09 |
---|---|
스프링 요청 매핑 (0) | 2021.09.09 |
JPA 페이징 (0) | 2021.09.03 |
프로젝션 - 여러 값 조회 (0) | 2021.09.03 |
JPQL 문법 (0) | 2021.09.03 |