목록 보기
Kotlin 환경에서 로그를 기록할 때 불필요한 문자열 연산을 방지하는 방법
백엔드

Kotlin 환경에서 로그를 기록할 때 불필요한 문자열 연산을 방지하는 방법

카카오페이
카카오페이
2025년 1월 9일

두줄요약

Kotlin과 Java에서 SLF4J 로깅 시 불필요한 문자열 연산을 줄이는 방법을 다뤘습니다. 성능과 가독성을 비교해 Parameterized Logging과 kotlin-logging의 선택 기준을 제시했습니다.

핵심 내용

  • SLF4J 로깅에서 문자열 템플릿이나 문자열 결합이 DEBUG 비활성화 상황에서도 문자열 연산을 유발하는 문제
  • Java에서는 Parameterized Logging이 불필요한 연산을 줄이는 대안
  • Kotlin에서는 kotlin-logging의 람다 기반 로그와 String Template 조합으로 가독성과 연산 방지의 균형을 시도
  • 성능 측정 결과, 비활성화 상태에서는 Parameterized Logging이 가장 빠르고 kotlin-logging은 가독성 측면에서 장점

적용해볼 점

  • 로그 레벨 비활성화 시 평가되지 않는 방식 우선 고려
  • 성능 우선이면 Parameterized Logging 선택
  • 가독성 우선이면 kotlin-logging 검토

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...