본문 바로가기
Docker

Docker를 사용할 때, SpringBoot의 Log를 별도파일로 저장해서 확인하는방법

by 창따오 2025. 3. 14.
728x90

로그 파일 저장 경로 설정 (logging.file.name 또는 logging.path)

Spring Boot가 별도로 설정 없이 파일로 로그를 저장하지 않는 이유는 다음과 같습니다:

  • 기본적으로 로그를 콘솔에만 출력함 (STDOUT)
  • 개발자가 직접 로그 파일 경로를 설정해야 저장됨

로그 파일 저장을 활성화하려면

#application.properties

logging.file.name=/var/logs/app.log

 

 

#application.yml

 

logging:
  file:
    name: /var/logs/app.log

 

3. logging.path를 설정하면 기본 파일명(spring.log)으로 저장

만약 로그 파일 이름을 직접 지정하지 않고, 경로만 설정하면 spring.log라는 기본 파일명으로 저장됩니다.

 

#application.properties

logging.path=/var/logs

 

 

#application.yml

logging:
  path: /var/logs

📌 이 설정을 사용하면 로그 파일이 /var/logs/spring.log에 저장됨
(로그 파일 이름을 별도로 설정하지 않았기 때문에 spring.log가 기본값)

 

 

4. Spring Boot 애플리케이션이 Docker 컨테이너에서 실행될 때의 로그 경로

  • 만약 Docker에서 실행 중이라면, 기본적으로 로그는 콘솔(STDOUT)로 출력됩니다.
  • 로그 파일을 저장하고 싶다면, logging.file.name 또는 logging.path를 설정한 후, Docker에서 해당 경로를 확인해야 합니다.

🛠 Docker 컨테이너에서 로그 파일 확인

docker exec -it <container_name> /bin/sh
cd /var/logs  # 설정한 경로로 이동
ls -l
cat app.log  # 로그 파일 내용 확인

 

🔥 결론

1️⃣ Spring Boot는 기본적으로 로그를 콘솔(STDOUT)로 출력
2️⃣ 로그 파일을 저장하려면 logging.file.name 또는 logging.path를 설정해야 함
3️⃣ Docker에서는 docker logs <container_name> 명령어로 로그 확인 가능
4️⃣ logging.file.name=/var/logs/app.log 설정 시, /var/logs/app.log 파일에 저장됨