springboot version 2.7.4
java 1.8
gradle 7.5
linux ubuntu 20.04
사건 발단
git actions를 통해 CI 환경 구축 중 임의의 테스트 push에 테스트 코드가 실패하는 경우가 발생하였다.
에러는 java.lang.IllegalStateException at LogbackLoggingSystem.java 이러하다.
분명 최근 유연하고 신속한 운영을 위해 로깅 부분을 추가하였는데 이게 문제가 되었나 의심할 수 있었다.
java.lang.IllegalStateException at DefaultCacheAwareContextLoaderDelegate.java:98
Caused by: java.lang.IllegalStateException at LoggingApplicationListener.java:344
Caused by: java.lang.IllegalStateException at LogbackLoggingSystem.java:179
해결 방안
원인에 대하여 정리하자면 로그의 저장 위치를 리눅스에서 /var/log로 하였는데 이 디렉터리는 권한이 엄격하여 로그 작성의 권한이 없어서 로그 작성을 해야하는 테스트 코드들은 전부 실패가 된 것이다.
이후 이 로그들을 어디에 저장을 할지에 대해선 고민을 하였다. 로그파일들을 어플리케이션의 외부에 두든 내부에 두든 자동화로 배포되는 환경에선 기존의 모든 파일들이 사라지니 다를 바가 없다 생각하였다. 그래서 어플리케이션의 내부에 로그를 저장하기로 판단하였다.
향후 방침, 행동
로그파일들을 어플리케이션으로부터 독립적인 위치에 두지 못한 것은 좀 찝찝한 기분이 들게한다. 자동화 배포를 하면서도 다른 외부 영역에 파일들을 관리하는 것에 대해 더 고민해봐야겠다. 그리고 이 로그 파일들에 대한 관리에 대해서도 고민을 해야할 것 같다. workflow 내부에 sh을 통해서 충분히 해결할 수 있지 않을까 생각이 든다. 화이팅! 나!
'에러 회고' 카테고리의 다른 글
connot find symbol class ... error (0) | 2023.11.10 |
---|---|
[에러 회고] 엘라스틱 빈스톡 ec2 접속하기 (MobaXterm, 빈스톡 환경 Corretto 8 running on 64bit Amazon Linux 2/3.4.9) (0) | 2023.07.08 |
[에러 회고] aws ubuntu 환경에서 gradlew build 시 테스트 코드 검증 절차에서 멈춤 (0) | 2023.06.01 |
[에러 회고] Springboot 이미지 전송 post request 시 에러 (onsubmit) (0) | 2023.05.31 |
[에러 회고] 백그라운드로 돌아가는 프로세스와 서버 먹통 사태 (0) | 2023.05.22 |
댓글