Log

junheelee·2022년 10월 15일
0

SpringMVC

목록 보기
9/19

'System.out.println()' 으로 시스템 콘솔로 출력하여 확인하였지만 로깅 라이브러리 사용

로깅 라이브러리

스프링부트 라이브러리 사용시 스프링 부트 로깅 라이브러리 포함
다양한 로그 라이브러리가 있지만 SLF4J는 통합 인터페이스로 제공한다
SLF4J : 인터페이스 , 구현체: 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;

/**
 * @Controller의 반환값이 String 이면 뷰 이름으로 인식
 * @RestController은 반환 값으로 뷰를 찾는것이 아니라 Http 메세지 바디에 바로 입력
 */
//@Slf4j
@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 level = trace < debug < info < warn < error
        //개발 서버 : debug / 운영 서버 : info
        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";
    }

}

📋 로그의 장점

  • 쓰레드 정보, 클래스 이름 같은 부가 정보 및, 출력 모양을 조절 가능
  • 개발에서는 모든 로그 출력하고, 운영에서는 출력하지 않는 등 로그를 상황에 맞게 조절 가능
  • 시스템 아웃 콘솔에만 출력하는 것이 아니라, 파일이나 네트워크 등, 로그를 별도의 위치에 저장
  • 성능도 일반 System.out보다 좋다.
profile
Study of beginner dev

0개의 댓글