본문 바로가기
개발/Spring

스프링부트 console에 color 적용하기, 로그 찍기

by ujin2021 2021. 7. 14.

Console에 color 적용하기

application.properties

spring.output.ansi.enabled=always

를 추가해준다

 

[적용 후]

WARN과 ERROR log의 경우 색이 다르게 출력된다!

 

Log 찍기

[인프런] 김영한님 - 스프링 MVC 1편을 보고 정리한 글입니다!

 

  • spring boot starter library에 기본적으로 slf4j와 logback 등이 추가되어있다
  • slf4j 는 인터페이스이고, 이것을 구현한 것 중에 하나가 logback이다.
import org.slf4j.Logger; // 인터페이스로 slf4j를 사용함
import org.slf4j.LoggerFactory;

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

String name = "hi";

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);
  • 일단 다른부분은 생략하고 log 찍는 부분만 살펴보자!
  • 따옴표 속의 {}는 name으로 대체된다
  • 만약 여러개의 변수를 출력하고 싶으면 log.info("{} {}", name1, name2) 이런식으로 할 수 있다
  • 이때 그냥 실행하게 되면 log.trace와 log.debug는 찍히지 않는데, log를 어느 level 부터 찍을지 설정할 수 있다
  • level은 trace < debug < info < warn < error 순서이다 (하위 -> 상위 level)
// application.properties
logging.level.hello.springmvc=debug # 찍을 로그의 제일 하위 level
  • hello.springmvc 패키지 하위에서 log를 찍을 때 debug level 부터 찍으라는 뜻이다
  • 그러면 log.debug, log.info, log.warn, log.error 이 모두 찍힌다
  • 만약 logging.level.hello.springmvc=trace로 변경하면 trace부터 error 까지 모두 찍힌다