목록 보기
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 검토

다음 읽기

같은 회사의 연관 글

배포 직후 발생하는 응답 지연을 해결하기 위한 여정 (feat. JVM 웜업)

배포 직후 발생하던 DB Connection Timeout과 응답 지연의 원인을 분석했습니다. JVM 웜업과 startupProbe 적용으로 초기 지연 문제를 해결했습니다.

카카오페이
카카오페이
백엔드

댓글 0

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

댓글을 불러오는 중...