[Spring Boot] HikariCP log 출력 설정하기

Aram·2022년 2월 17일
0

🍉 왜 로그 출력이 필요 했는가?

팀에서 메인속도 개선 과제를 진행하기로 하였다.(개발자는 누가 투입될지 모르겠는데 우선 아직 나는 투입X. 일차적으로 퍼블리셔가 사용하지 않는 css를 걷어내고 임포트하는 파일 분리 작업을 진행하기로 하였다.)
운영환경과 동일하게 세팅해야 하기에 신규 개발DB를 생성하고 운영DB를 마이그레이션한 후 해당 개발환경에서 작업을 진행할 예정으로 보인다.

부장님께서 세팅을 하시던 중에
로컬 환경에서 신규 DB로 접속한 후 로그인이 되지 않는다며 동일한 현상이 발생하는지 확인 요청을 주셨다.

로그인이라기에 인증 문제와 관련있나 추측해보았지만 쿼리를 불러오는 장바구니 페이지 인입 시에도 동일한 오류가 발생한다.

db connection time out은 일어나는데 원인은 모르는 상황.

connection is not available, request timed out after 30003ms.

우선 예상되는 원인부터 확인해 보았다.

  • 접속환경 설정 문제
    bitvise 신규 포트 추가하여 접속 시 정상인지 확인하기(o)
  • DB 문제
    연결 직접 붙어서 정상적으로 붙는지 확인하기(o)
  • AWS 문제
    누락된 설정이 있는 게 아닌지?(△)

환경설정이나 DB에는 문제가 없어 보여서

AWS -> VPC -> 보안 그룹 -> 해당 그룹 -> 인바인드 규칙 설정에 포트를 추가하지 않은게 아닐까 싶었다.

하지만 의견을 말씀드리니 DB 접속과 초기 데이터 가져오는 것까지는 확인이 된다며 보안문제는 아니라고 말씀해주심!

역시 로그를 찍는게 해결을 위한 방법이겠지란 생각이 들었다.

접속정보는 소스 상단에 있기 때문에 설정파일 하단에 추가한 내용을 올려본다.
코드는 6라인이면 바로 적용된다.(나는 DEBUG레벨로 설정함)


🍀 HikariCP 로그 설정하기

[application.properties]

logging.level.com.zaxxer.hikari=TRACE 
logging.level.com.zaxxer.hikari.HikariConfig=DEBUG


[application.yml]

logging:
  level:
  com.zaxxer.hikari.HikariConfig: DEBUG
  com.zaxxer.hikari: TRACE

이렇게 설정해주면 이렇게 로그가 깔끔하게 잘 찍힌다 ^^*


로그를 찍어보니까 문제가 발생한 포트의 slave에 pool stats total이 0이다.

이건 정상적인 포트의 로그!

호호 원인은 이쪽에 있는 것 같군요! 부장님께 해당 부분 결과 전달ㅎㅎ.ㅎ..

🌼 해결은 했는지?

그리고 내용 공유드린지 20분이 지난, 퇴근시간 10분 전 메신저가 왔다.

원인은 포트 설정에 있었군!

할당도 되었고(현재 커넥션은 대기상태) 시스템 로그에 호출하는 쿼리도 잘 찍힌다.

역시 원인 파악은 어렵지만 오류가 찍히지 않는 화면을 보면 뿌듯해! 역시나 공부할 게 너무 많다ㅠ 수박 겉핥기로만 알고 있네ㅠ 열심히 하자!

profile
백엔드 개발자💻 제발! 잘 하고 싶어요ㅠ (FE/BE)

0개의 댓글