Docker

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

창따오 2025. 3. 14. 17:55
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 파일에 저장됨