Canard is a lightweight Kotlin/Multiplatform logging library with a simple API, that works on JVM, Android, JavaScript, iOS, as well as for all Kotlin/Native targets.

Canard allows you to:

  • easily setup logging in a Kotlin/Multiplatform

  • simply log what you need on different level

  • avoid carrying about platform specific frontends' implementations

Canard is a good choice because:

  • it integrates nicely with all the Kotlin/Multiplatform targets

  • it is small and simple to grasp with an easy and understandable API


simple example
val loggerFactory = LoggerFactory(defaultLogFrontend)
val logger = newLogger(loggerFactory) { "Welcome to ..." }
logger.warning { "... the Canard documentation!" }



Contributions are very welcome and greatly appreciated! The great majority of pull requests are eventually merged.

To contribute, simply fork the project on Github, fix whatever is iching you, and submit a pull request!

I am sure that this documentation contains typos, inaccuracies and languages error (English is not our mother tongue). If you feel like enhancing this document, you can propose a pull request that modifies the documentation documents. (Documentation is auto-generated from those).