인프런 커뮤니티 질문&답변
logback.xml 설정파일을 자동으로 읽을수있는 이유가 궁금합니다.
작성
·
138
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 파일을 배치하면, 스프링 부트는 애플리케이션 시작 시 해당 파일을 자동으로 로드하여 로그 설정을 적용합니다.
로그 설정 파일이 자동으로 읽히는 이유:
스프링 부트의 자동 구성 메커니즘: 스프링 부트는 “convention over configuration” 원칙에 따라 기본 경로에 놓인 설정 파일을 자동으로 탐색 및 적용합니다.
logback의 경우,src/main/resources/logback.xml경로에 파일을 두면 이를 자동으로 인식하고 설정을 반영합니다.SpringApplication 클래스의 역할:
SpringApplication클래스는 애플리케이션 초기화를 담당하며, 이 과정에서logback.xml과 같은 구성 파일을 자동으로 탐색하여 로드합니다. 이를 통해 별도로 코드에서 경로를 지정하지 않아도 설정이 적용됩니다.애노테이션 기반 설정:
@SpringBootApplication과 같은 애노테이션은 스프링 부트가 애플리케이션의 자동 설정 및 시작을 관리하도록 돕습니다. 이런 설정으로 인해logback.xml파일은 자동으로 로드됩니다.로깅 일반 설정 적용: 스프링 부트는 로깅 설정을 포함한 여러 설정 파일을 자동으로 처리함으로써 개발자가 일일이 경로를 지정하지 않아도 되도록 합니다.
관련하여 자세한 이해를 돕기 위해 유사한 답변을 제공하는 게시물을 추천드립니다:
- MemberApp에서 Bean에서 불러오는 과정에서 스프링으로 실행이 안되는 것 같아 질문 드립니다.
스프링 부트 3.1 이상에서 로그가 기본적으로INFO레벨로 설정되어 로그가 보이지 않는 문제에 대해서 다루고 있습니다. 이때logback.xml파일을 설정하여 로그 레벨을DEBUG로 변경하는 방법을 안내합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





