이클립스 내장톰켓 slf4j + logback 적용 삽질기..

백엔드&인프라 추종자·2025년 1월 28일

학원 HRD 과제 삽질

목록 보기
1/7
post-thumbnail

1. 로깅 라이브러리를 사용하려는 이유

hrd 과제를 나름대로 열심히 해서 클라우드에 war 파일로 배포해서 올렸는데,

하루(?)정도 지나면 서버가 응답을 제대로 안주는 문제가 생겼다.

근데 다 콘솔 로그로 찍고있어서.. 대체 무슨 문제인지 정확하게 알수가 없었다.

아마도 DAO 쪽 문제로 생각되긴했는데.. 아무튼 이런 콘솔 로깅 구조는 더이상 쓸수가 없었다.

실무에서는 당연하게도 못쓸건데.. 왜 이렇게 계속 개발해왔는지 모르겠다.

- 첫번째 실수

response code 를 제대로 안준것. DAO 가 예상한 데이터를 안줬으면 controller 에서 응답 코드를 바꿔서 보내줘야했는데, 그냥 200 ok 찍고 빈 데이터나 -1(?) 을 보낸 문제 등등..

- 두번째 실수(치명타)

위에 언급했다시피 에러 로그를 콘솔 로그로 찍고 있던것. 이런식이면 배포 환경에서는 로그는 그냥 아무것도 없다.

2. slf4j + logback 적용 진행 및 막혔던 부분

일단 maven, gradle 이런 애들을 아직 안써봤기 때문에 그냥 jar 만 받아와서 적용했다.
콘솔 로그는 잘 찍혔는데, 문제는 파일 로깅을 위한 logback.xml 배포가 문제가 되었다.
이클립스에서 수동으로 설정에 넣어서 배포해야한다.

3. slf4j + logback 적용 순서

  • 프로젝트에 src/main/resouces 생성하고 logback.xml 복사
  • 프로젝트에서 properties -> Web Deployment Assembly -> add 누르고 folder 선택
    -> /src/main/resources 를 Source 에, /WEB-INF/classes 를 Deploy Path 에 넣고 적용 및 닫기

톰캣 재시작하면 logback.xml 파일이 classes 에 복사되는거 확인되고, 파일 로그도 잘 찍히는걸 볼 수 있다.

(썸네일은 에러 응답 주는거 넣어봤다..ㅋㅋ)

profile
AI 답변 글을 주로 올립니다.

0개의 댓글