Post

kotlinlogging-vs-kloggin

kotlinlogging-vs-kloggin

Kotlin-Logging (MicroUtils / oshai)

  • ๊ฐœ์š” kotlin-logging์€ mu.KotlinLogging ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋กœ ์‚ฌ์šฉ๋˜๋ฉฐ, SLF4J ๊ธฐ๋ฐ˜์˜ Kotlin ์นœํ™”์ ์ธ ๋ž˜ํผ(wrapper) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ž…๋‹ˆ๋‹ค. (์˜ˆ: import mu.KotlinLogging) ๋กœ๊ฑฐ๋ฅผ ์„ ์–ธํ•  ๋•Œ ํด๋ž˜์Šค ์ด๋ฆ„์„ ์ง์ ‘ ์ง€์ •ํ•˜์ง€ ์•Š์•„๋„ ๋˜๊ณ , ๋ฉ”์‹œ์ง€๋ฅผ ๋žŒ๋‹ค ํ˜•ํƒœ๋กœ ์ „๋‹ฌํ•˜์—ฌ ๋ ˆ์ด์ง€(lazy) ๋ฉ”์‹œ์ง€ ํ‰๊ฐ€๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠน์ง•

    • logger {}๋ฅผ ํ†ตํ•ด ๊ฐ„ํŽธํ•˜๊ฒŒ ๋กœ๊ฑฐ ์ƒ์„ฑ
    • ์„ฑ๋Šฅ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด ๋กœ๊ทธ ๋ ˆ๋ฒจ์ด ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ฉ”์‹œ์ง€ ํ‰๊ฐ€
    • SLF4J ๊ธฐ๋ฐ˜์ด๋ฏ€๋กœ ๊ธฐ์กด ๋กœ๊น… ๋ฐฑ์—”๋“œ(Logback ๋“ฑ)์™€ ํ˜ธํ™˜
    • ๋ฉ€ํ‹ฐํ”Œ๋žซํผ(MPP) ์ง€์› ๊ฐ€๋Šฅ์„ฑ ์žˆ์Œ

Klogging

  • ๊ฐœ์š” Klogging์€ pure Kotlin ๊ธฐ๋ฐ˜์˜ ๋กœ๊น… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๊ตฌ์กฐํ™”๋œ(structured) ๋กœ๊น…, ์ฝ”๋ฃจํ‹ด ์Šค์ฝ”ํ”„ ๊ธฐ๋ฐ˜์˜ ์ปจํ…์ŠคํŠธ ์ „๋‹ฌ, ๊ณ ํ•ด์ƒ๋„ ํƒ€์ž„์Šคํƒฌํ”„ ๋“ฑ์„ ์ค‘์‹ฌ์œผ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค- (GitHub, klogging.io).

  • ํŠน์ง•

    • ๋ฉ”์‹œ์ง€๋ฅผ ๋‹จ์ˆœํ•œ ๋ฌธ์ž์—ด์ด ์•„๋‹Œ ๊ตฌ์กฐํ™”๋œ ์ด๋ฒคํŠธ(structured log event)๋กœ ์ƒ์„ฑ
    • Kotlin ์ฝ”๋ฃจํ‹ด ์ปจํ…์ŠคํŠธ์— ํฌํ•จ๋œ ์ •๋ณด๋ฅผ ์ž๋™์œผ๋กœ ๋กœ๊ทธ์— ํฌํ•จ
    • ์ตœ์†Œ ๋งˆ์ดํฌ๋กœ์ดˆ ๋‹จ์œ„, ๊ฐ€๋Šฅํ•˜๋ฉด ๋‚˜๋…ธ์ดˆ๊นŒ์ง€ ์ง€์›ํ•˜๋Š” ๊ณ ํ•ด์ƒ๋„ ํƒ€์ž„์Šคํƒฌํ”„
    • ๋น„๋™๊ธฐ ๋กœ๊น… ์„ค๊ณ„ (์ฝ”๋ฃจํ‹ด ์ฑ„๋„ ๋“ฑ ์ด์šฉ)

์š”์•ฝ ์ •๋ฆฌ

ํ•ญ๋ชฉkotlin-logging (mu)Klogging
๋„ค์ž„์ŠคํŽ˜์ด์Šค / Importmu.KotlinLogging(๊ณ ์œ  ํŒจํ‚ค์ง€, klogging ๋“ฑ)
๊ธฐ๋ฐ˜SLF4J ๋ž˜ํผPure Kotlin, ์ž์ฒด ๊ตฌํ˜„
๊ฐ•์ ๊ฐ„๋‹จํ•˜๊ณ  ์ต์ˆ™ํ•œ API, ๊ธฐ์กด SLF4J์™€ ํ˜ธํ™˜๊ตฌ์กฐํ™” ๋กœ๊น…, ์ฝ”๋ฃจํ‹ด ์ปจํ…์ŠคํŠธ ํฌํ•จ, ๊ณ ํ•ด์ƒ๋„ ํƒ€์ž„์Šคํƒฌํ”„
์šฉ๋„์ผ๋ฐ˜์ ์ธ ๋กœ๊น…, Kotlin ์‹ API ์„ ํ˜ธ ์‹œ๋ถ„์‚ฐ/๋น„๋™๊ธฐ ํ™˜๊ฒฝ, ๊ตฌ์กฐํ™”๋œ ๋กœ๊น…, ์ปจํ…์ŠคํŠธ ์ „๋‹ฌ ์‹œ

์ •๋ฆฌํ•˜๋ฉดโ€ฆ

  • mu.KotlinLogging์€ ์ „ํ†ต์ ์ธ SLF4J ๊ธฐ๋ฐ˜์˜ Kotlin์šฉ ๋ž˜ํผ๋กœ์„œ, ๊ฐ„ํŽธํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๋กœ๊น… ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.
  • ๋ฐ˜๋ฉด์— Klogging์€ ์ฝ”๋ฃจํ‹ด๊ณผ ๊ตฌ์กฐํ™” ๋กœ๊น…์— ์ฃผ์•ˆ์ ์„ ๋‘” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋กœ, ๋ณด๋‹ค ํ˜„๋Œ€์ ์ธ ๊ตฌ์กฐํ™”๋œ ๋กœ๊ทธ ์ฒ˜๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•  ๋•Œ ์„ ํƒํ•˜๋ฉด ์ข‹์Šต๋‹ˆ๋‹ค.
This post is licensed under CC BY 4.0 by the author.