소소한개발팁
article thumbnail
반응형

Log 사용하기

 

로깅은 애플리케이션의 동작 및 상태를 추적하고 디버깅하는 데 필수적인 기능입니다. Spring MVC 애플리케이션에서 로깅을 구현하려면 주로 Log4j 또는 SLF4J(Logging Facade for Java)와 같은 로깅 라이브러리를 사용합니다. 다음은 Spring MVC에서 로깅을 설정하는 일반적인 단계입니다.

 

  • 로깅 라이브러리 설정: 먼저, 프로젝트 의존성으로 Log4j 또는 SLF4J를 추가하고 해당 로깅 라이브러리의 설정 파일을 설정합니다.
  • 로그 설정 파일 설정: 로그 레벨, 로그 출력 위치 및 형식을 지정하는 로그 설정 파일을 구성합니다. 예를 들어, Log4j의 경우 log4j.xml 또는 log4j.properties 파일을 사용하여 로그 설정을 구성합니다.
  • 로깅 코드 추가: Spring MVC 컨트롤러, 서비스, DAO 등에서 로깅 코드를 추가하여 원하는 정보를 로그에 기록합니다. 로그 레벨에 따라 다양한 로그 메시지를 생성할 수 있습니다. 예를 들어, Logger.debug(), Logger.info(), Logger.warn(), Logger.error() 등의 메서드를 사용하여 로그를 생성할 수 있습니다. 

 

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@Controller
public class MyController {

    private static final Logger logger = LoggerFactory.getLogger(MyController.class);

    @RequestMapping("/example")
    public String example() {
        logger.debug("Debug message");
        logger.info("Info message");
        logger.warn("Warning message");
        logger.error("Error message");
        return "exampleView";
    }
}

 

로그 출력 확인: 설정한 로그 레벨에 따라 로그 파일 또는 콘솔에 로그 메시지가 출력됩니다. 필요한 경우 로그 파일 위치 및 포맷을 설정하여 로그를 관리합니다.


로깅은 애플리케이션 개발과 유지 보수에 매우 유용하며, 문제 해결 및 성능 최적화에 도움이 됩니다.

 

Log 레벨 조정

프로젝트에서 로깅 레벨을 조정하는 가장 간단한 방법은 application.properties 또는 application.yml 파일을 사용하는 것입니다. 이 파일을 사용하면 로깅 레벨과 관련된 설정을 프로젝트 소스 코드를 수정하지 않고 외부에서 변경할 수 있습니다.

아래는 application.properties 파일을 사용하여 로깅 레벨을 조정하는 방법입니다.

application.properties 파일을 프로젝트의 클래스패스 루트 또는 src/main/resources 디렉터리에 생성하거나 수정합니다.

로깅 레벨을 설정합니다. 다음과 같이 logging.level 프로퍼티를 사용하여 로깅 레벨을 지정합니다. 예를 들어, com.example 패키지의 로깅 레벨을 DEBUG로 조정하려면 다음과 같이 설정합니다.

 

logging.level.com.example=DEBUG


이 설정은 com.example 패키지와 그 하위 패키지에 속한 클래스의 로깅 레벨을 DEBUG로 설정합니다. 이러한 설정은 Spring Boot가 자동으로 로깅 구성을 업데이트하게 됩니다.

변경된 로깅 레벨을 적용하기 위해 애플리케이션을 재시작합니다. 새로운 로깅 레벨이 적용됩니다.

이렇게 하면 application.properties 파일을 통해 로깅 레벨을 쉽게 조정할 수 있습니다. 또한 이 파일을 사용하면 프로덕션 환경과 개발 환경 간에 로깅 레벨을 다르게 설정할 수 있어 디버깅 및 문제 해결에 유용합니다.

반응형

'프레임워크 > Spring' 카테고리의 다른 글

Spring - 메시지 및 국제화 처리  (0) 2023.10.06
SSR - Thymeleaf 기본 기능 소개  (0) 2023.10.02
Spring MVC  (0) 2023.09.28
쓰레드(Thread)  (1) 2023.09.24
서블릿(Servlet)  (0) 2023.09.24
profile

소소한개발팁

@개발자 뱅

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!