{"repo":"ToxicBakery/Arbor","free":true,"listed":false,"github":"https://github.com/ToxicBakery/Arbor","clone":"git clone https://github.com/ToxicBakery/Arbor.git","description":"Like Timber, just different","language":"Kotlin","stars":98,"topics":["kotlin","logging","android","java","javascript","kotlin-multiplatform","kotlin-native"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"Arbor Timber like logging implementation for Kotlin Multiplatform. Purpose This library was built as a practical experiment with Kotlin Multiplatform and specifically the new single module approach. Despite Kotlin's excellent documentation it was unclear how to properly publish all artifacts to Maven such as sources and documentation. Hopefully this project provides a more complete template for others to use. API Arbor follows a very similar usage pattern to Timber. Key differences exist in feature support and terminology which was done purely because I had a thesaurus laying around. Sow Your Seedling Seedlings are platform specific logging implementations such as using Logcat in Android, NSLog in iOS, and println in JavaScript. Android JavaScript JVM iOS Custom seedlings can be created from the com.toxicbakery.logging.ISeedling interface. Logging All logging is triggered from the Arbor static methods which supports debug, info, verbose, warning, error, and wtf. Logging calls are passed to the underlying branch implementation and finally to the sown seedling instances. Log tagging is automatic on Android but can be easily overridden. Kotlin Extensions While Arbor supports writing string concatenations, leveraging Kotlin concatenations leads to strings being evaluated regardless of if they will be logged. In release that means CPU cycles may be wasted towards logging that is ultimately never printed. The arbor Kotlin extension leverages functions to work around this. Debug mes","default_branch":null,"files":null,"tree":[],"storefront":"/r/ToxicBakery","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ToxicBakery/Arbor/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}