We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
스프링 Log 구현체 Logback 설정을 통한 log rotation 적용 Develop 환경에서 Log Level 설정
Logback
Spring의 경우 spring-boot-starter-web에 logging 의존성을 포함하고 있으며, 기본적으로 Logback 구현체를 사용하고 있습니다.
spring-boot-starter-web
logging
logging: level: ... file: # 로그 파일 설정 name: /app/log/application.log # name 또는 path 설정 필수 logback: rollingpolicy: max-history: 30 # default: 7 max-file-size: 10MB # default: 10MB file-name-pattern: /app/log/application-%d{yyyy-MM-dd}-%i.gz # 압축해서 보관 -> 디스크 절약 total-size-cap: 5GB # default: 제한 없음
application.yml 파일의 경우 위와 같이 logging 설정이 가능한데 file:name: 혹은 file:path: 가 없을 경우 로그 파일이 생성되지 않습니다.
이전에는 /app/application.log로 만들었지만 log 디렉터리를 하나 추가했습니다. /app/log/application.log 다시 한번 확인해주세요!
application.yml 설정이 적용될 경우 docker-compose.yml 파일에서 volumes 부분을 수정해줘야합니다. 파일 마운트에서 디렉터리 마운트로 변경했습니다.
docker-compose.yml
backend: image: audejr123/buddies-docker-repo:latest env_file: - .env ports: - "8080:8080" volumes: - ~/buddies/log:/app/log depends_on: - mariadb - redis restart: always
번외
EC2의 /var/lib/docker/container 경로에 쌓이는 로그들은 Docker의 기본 Logging 시스템이 생성한 Log들로 표준 출력과 에러를 자동으로 캡처해 해당 디렉터리에 저장합니다.
ubuntu@buddies-webserver:/var/lib/docker$ ls buildkit containers engine-id image network overlay2 plugins runtimes swarm tmp volumes ubuntu@buddies-webserver:/var/lib/docker/containers$ ls 0e27028dc99d2b5ecc4642107312769f923609c85213e10e9bdf78b9fcff5ba9 90cf3d5b61254765af49e3b4694f35f080757037374ab1120b95877a0bfe595c 804df6139241e59ddadb2c4d47955dc7b2653ce340a38f46c802c0b4bad02759
해당 Log에도 rotation을 설정할 수 있으며, 다음과 같이 docker-compose.yml에서 설정 가능합니다. 기본적으로 json 파일 형식으로 저장하며 max-size는 최대 크기, max-file은 최대 갯수, compress는 압축 여부를 나타냅니다.
backend: ... logging: driver: "json-file" options: max-size: "10m" max-file: "10" compress: "true" # 로그 파일 압축
The text was updated successfully, but these errors were encountered:
injae-348
No branches or pull requests
기타 이슈
이슈 설명 (필수)
스프링 Log 구현체
Logback
설정을 통한 log rotation 적용Develop 환경에서 Log Level 설정
추가 정보
Spring의 경우
spring-boot-starter-web
에logging
의존성을 포함하고 있으며, 기본적으로Logback
구현체를 사용하고 있습니다.application.yml 파일의 경우 위와 같이 logging 설정이 가능한데
file:name: 혹은 file:path: 가 없을 경우 로그 파일이 생성되지 않습니다.
이전에는 /app/application.log로 만들었지만 log 디렉터리를 하나 추가했습니다.
/app/log/application.log 다시 한번 확인해주세요!
application.yml 설정이 적용될 경우
docker-compose.yml
파일에서 volumes 부분을 수정해줘야합니다.파일 마운트에서 디렉터리 마운트로 변경했습니다.
번외
EC2의 /var/lib/docker/container 경로에 쌓이는 로그들은 Docker의 기본 Logging 시스템이 생성한 Log들로 표준 출력과 에러를 자동으로 캡처해 해당 디렉터리에 저장합니다.
해당 Log에도 rotation을 설정할 수 있으며, 다음과 같이 docker-compose.yml에서 설정 가능합니다.
기본적으로 json 파일 형식으로 저장하며 max-size는 최대 크기, max-file은 최대 갯수, compress는 압축 여부를 나타냅니다.
The text was updated successfully, but these errors were encountered: