로그(log)란?

이용만·2022년 5월 10일
0
  1. 로그란?
    : 모든 행위와 이벤트 정보를 시간의 경과에 따라 기록한 데이터 시스템 상에서 "로그" 를 생성하는 과정을 "로깅(Logging)" 이라고 한다.
  • 로깅(logging)의 장점
    : 개발 프로그램의 디버깅 예기치 못한 문제의 원인 파악 시스템 및 사용자의 동작 패턴 분석 해킹(침입)의 비정상 동작의 기록을 감지 분석을 통한 통계화

  • 로깅 라이브러리
    로그 라이브러리는 Logback, Log4J, Log4J2 등등 수 많은 라이브러리가 있는데 스프링 부트에서 이것들을 통합해서 인터페이스로 제공하는 것이 바로 SLF4J 라이브러리다.

로그 선언

// 1번
private final Logger log = LoggerFactory.getLogger(getClass());
// 2번
private static final Logger log = LoggerFactory.getLogger(Xxx.class)
// 3번
@Slf4j
public class LogTestController {
}

로그 레벨
log level = trace -> debug -> info -> warn -> error(가장 심각)

  • 일반적으로 개발 서버는 debug, 운영 서버는 info으로 설정한다. (설정된 level 이하의 상태는 출력하지 않는다.)
    (아래 설정 소스는 스프링부트 기준 src/main/resources/application.properties에 코드 설정)

로그 호출

@Slf4j
@RestController
public class LogTestController {

    @RequestMapping("/log-test")
    public String logTest(){
        // 로그 라이브러리 이용한 출력
        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";
    }
}
profile
성장하는 개발자가 되고자 합니다.

0개의 댓글