Lumberjack
Kotlin Coroutine Multiplatform Logging Library
💎 Benefits
-
💪 Powerful - Heavily inspired by Log4J2, Lumberjack enables powerful logging API concepts such as MDC (Mapped Diagnostic Context), markers, custom levels, and an abstractMessage
API to be utilized incommon
and non-JVM platforms. -
🧰 Configurable - For JVM targets, Lumberjack delegates to Log4J2 API which enables extensive customization in runtime implementation including delegating to SLF4J or, if usinglog4j-core
, powerful configuration options.For non-JVM targets, Lumberjack delegates to Sawtooth; an in-house logging engine and configuration API. Sawtooth configurations can be changed during runtime and its abstract APIs allow potentially infinite customization.
-
🚀 Efficient - By reusing buffers and objects, utilizing caches, and inlining functions; Lumberjack operates with minimal memory overhead and contributes little to no additional pressure for the garbage collector. -
🌌 Universal - Lumberjack supports all Kotlin Multiplatform targets which makes it perfect for any Kotlin library or application for any platform.
📄 Documentation
Documentation including installation instructions and API usage can be found on the Wiki.