pile·
백엔드·카카오페이kakaopay·

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

문제Kotlin 에서 SLF4J + String Template 조합이 로그 레벨이 비활성화돼 있어도 불필요한 String 연산을 수행해 성능 저하.

접근Parameterized Logging({} placeholder) 사용 또는 kotlin-logging 라이브러리의 람다 표현식으로 조건부 evaluation.

결과비활성 시 Parameterized 2.5ms vs String Template 96.5ms (38 배 차이). kotlin-logging 은 15.5ms 로 가독성 유지.

카카오페이
카카오페이 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 백엔드·네이버페이네이버페이·

    Composite PK에서 시작된 Spring Boot 4 / Spring Batch 6 업그레이드 기록

    문제Spring Data JDBC 의 Composite ID 적용을 위해 Spring Boot 3.5 → 4.0.1 업그레이드 시 Spring Batch, Kotlin, Jackson 등 전체 스택 메이저 전환 필요.

    접근Spring Boot 4 / Spring Batch 6 / Spring Framework 7 / Kotlin 2.3 / Jackson 3 / Kotest 6 / Gradle 9 / ojdbc11 순차 업그레이드. Composite ID 는 Persistable 인터페이스로 구현, JdbcDefaultBatchConfiguration 상속으로 메타데이터 저장.

    결과기술 부채 해결 + 장기 유지보수성 개선. 운영 DB 접근 정책 충돌을 사전 식별해 안정적 배포 달성.

    #kotlin#spring#spring-boot+3