-
spring boot logback.xml 맥OS에서 파일 생성 문제Springboot 2022. 8. 14. 10:12728x90
문제점
macOS에서 testcase 동작시에도 weblog를 남기게 하였는데 해당 경로는 배포 경로와 동일한
/var/log/webserver를 사용하였다.
문제는 여기서 부터 시작
intellij가 root권한으로 실행되지 않기 때문에 /var/log/webserver 에 폴더를 자동 생성하거나 그 경로 하위에
로그 파일을 생성하는 것도 실패하였음.
해결책
<springProfile name="real, dev"> <property name="LOG_DIR" value="/var/log/webserver"/> </springProfile> <springProfile name="junit, local"> <property name="LOG_DIR" value="${user.home}/webserver"/> </springProfile>
나의 경우 총 4개의 profile을 운영중이다.
- real (서비스 프로필)
- dev (개발 프로필)
- junit, local (로컬 또는 테스트 케이스 동작시)
권한문제로 logback이 파일을 생성하지 못하는 이슈를 해결하고자
위와 같이 분기처리 하였음
${user.home} 을 사용하여 유저 경로 하위에 로그를 생성한다.
느낀점
사실 이 문제를 해결하려고 3시간 이상의 시간을 소비하였음
맥 OS에서 /var/log 하위에 자동으로 로그 파일을 떨구려고 많은 노력을 했지만
생각해보니 권한상 좋지도 않은 방법이고, 맥 OS 특유의 권한 문제로 좋은 해결책이 없었음
weblog.json or weblog.log를 미리 생성하면 동작하지만 나의 경우
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <fileNamePattern>${LOG_FILE_NAME}.%d{yyyy-MM-dd}.%i.json.gz</fileNamePattern> <maxFileSize>30MB</maxFileSize> <maxHistory>15</maxHistory> <totalSizeCap>15GB</totalSizeCap> </rollingPolicy>
위와같이 파일명이 매번 재생성되므로 다른 방법을 선택함
728x90'Springboot' 카테고리의 다른 글
[1] Spring REST Docs 이용해 API 문서 작성하기 (0) 2022.03.03 [1] API 반환 값 설계 및 구현 (0) 2021.12.12