인프런 커뮤니티 질문&답변

Gandhi Mahatma님의 프로필 이미지
Gandhi Mahatma

작성한 질문수

스프링 핵심 원리 - 기본편

컴포넌트 스캔과 의존관계 자동 주입 시작하기

logback.xml 설정파일을 자동으로 읽을수있는 이유가 궁금합니다.

작성

·

38

0

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)

[질문 내용]
springboot 3.xx 이상에선 로그설정을 바꿔야되서

resource에 logback.xml을 추가해서 로그를 볼수있게 해결하는 방법이 왜 작동하는건지 궁금합니다.

예를들어 genericxmlapplication으로 ApplicationContext 컨테이너에 등록한다면 해당 파일의 경로를 입력해서 bean 구성파일을 넣는데

Annotation~Context일지라도 xml로 설정정보를 넘겨주는것도 의문이고, 애초에 경로지정도 따로 하지않았는데 어디에서 어떻게(어느 단에서) 자동으로 설정이 되는건지 궁금합니다.

감사합니다.

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. Gandhi Mahatma님.

스프링 부트 3.x 버전에서 logback.xml 파일을 통해 로그 설정을 변경할 수 있는 이유는 스프링 부트가 애플리케이션 시작 시 특정 경로에서 설정 파일을 자동으로 로드하기 때문입니다. src/main/resources 디렉토리는 스프링 부트가 기본적으로 설정 파일을 탐색하는 위치 중 하나입니다. 따라서 이 경로에 logback.xml 파일을 배치하면, 스프링 부트는 애플리케이션 시작 시 해당 파일을 자동으로 로드하여 로그 설정을 적용합니다.

로그 설정 파일이 자동으로 읽히는 이유:

  1. 스프링 부트의 자동 구성 메커니즘: 스프링 부트는 “convention over configuration” 원칙에 따라 기본 경로에 놓인 설정 파일을 자동으로 탐색 및 적용합니다. logback의 경우, src/main/resources/logback.xml 경로에 파일을 두면 이를 자동으로 인식하고 설정을 반영합니다.

  2. SpringApplication 클래스의 역할: SpringApplication 클래스는 애플리케이션 초기화를 담당하며, 이 과정에서 logback.xml과 같은 구성 파일을 자동으로 탐색하여 로드합니다. 이를 통해 별도로 코드에서 경로를 지정하지 않아도 설정이 적용됩니다.

  3. 애노테이션 기반 설정: @SpringBootApplication과 같은 애노테이션은 스프링 부트가 애플리케이션의 자동 설정 및 시작을 관리하도록 돕습니다. 이런 설정으로 인해 logback.xml 파일은 자동으로 로드됩니다.

  4. 로깅 일반 설정 적용: 스프링 부트는 로깅 설정을 포함한 여러 설정 파일을 자동으로 처리함으로써 개발자가 일일이 경로를 지정하지 않아도 되도록 합니다.

관련하여 자세한 이해를 돕기 위해 유사한 답변을 제공하는 게시물을 추천드립니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Gandhi Mahatma님의 프로필 이미지
Gandhi Mahatma

작성한 질문수

질문하기