All Projects → PaulWoitaschek → Slimber

PaulWoitaschek / Slimber

Licence: apache-2.0
Built upon Timber. Without performance penality.

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Slimber

Timber Ruby
🌲 Great Ruby logging made easy.
Stars: ✭ 154 (+37.5%)
Mutual labels:  timber, logging
Timber Elixir
🌲 Great Elixir logging made easy
Stars: ✭ 226 (+101.79%)
Mutual labels:  timber, logging
Cabin
🌲 Cabin is the best JavaScript and Node.js logging service and logging npm package
Stars: ✭ 622 (+455.36%)
Mutual labels:  timber, logging
Applicationinsights Dotnet Logging
.NET Logging adaptors
Stars: ✭ 100 (-10.71%)
Mutual labels:  logging
Jackpine
WordPress starter theme with Timber, Tailwind, and Alpine.js.
Stars: ✭ 101 (-9.82%)
Mutual labels:  timber
Logger json
JSON console backend for Elixir Logger.
Stars: ✭ 108 (-3.57%)
Mutual labels:  logging
Lilith
Lilith is a Logging- and AccessEvent viewer for Logback, log4j, log4j2 and java.util.logging
Stars: ✭ 111 (-0.89%)
Mutual labels:  logging
Debug
A tiny JavaScript debugging utility modelled after Node.js core's debugging technique. Works in Node.js and web browsers
Stars: ✭ 9,912 (+8750%)
Mutual labels:  logging
Nanolog
Nanolog is an extremely performant nanosecond scale logging system for C++ that exposes a simple printf-like API.
Stars: ✭ 1,710 (+1426.79%)
Mutual labels:  logging
Pg tail
' tail -f ' your PostgreSQL tables.
Stars: ✭ 106 (-5.36%)
Mutual labels:  logging
Illuminati
This is a Platform that collects all the data accuring in your Application and shows the data in real time by using Kibana or other tools.
Stars: ✭ 106 (-5.36%)
Mutual labels:  logging
Production Ready Expressjs Server
Express.js server that implements production-ready error handling and logging following latest best practices.
Stars: ✭ 101 (-9.82%)
Mutual labels:  logging
Monolog Colored Line Formatter
Colored/ANSI Line Formatter for Monolog
Stars: ✭ 108 (-3.57%)
Mutual labels:  logging
Apex Unified Logging
Platform-Event-based Apex logger for unified logging over transaction boundaries
Stars: ✭ 101 (-9.82%)
Mutual labels:  logging
Console Logging
Better, prettier commandline logging for Python--with colors! 👻
Stars: ✭ 111 (-0.89%)
Mutual labels:  logging
Foundatio
Pluggable foundation blocks for building distributed apps.
Stars: ✭ 1,365 (+1118.75%)
Mutual labels:  logging
Logrus
Hooks for logrus logging
Stars: ✭ 110 (-1.79%)
Mutual labels:  logging
P6spy
P6Spy is a framework that enables database data to be seamlessly intercepted and logged with no code changes to the application.
Stars: ✭ 1,567 (+1299.11%)
Mutual labels:  logging
Rsyslog
a Rocket-fast SYStem for LOG processing
Stars: ✭ 1,385 (+1136.61%)
Mutual labels:  logging
Syslog Ng
syslog-ng is an enhanced log daemon, supporting a wide range of input and output methods: syslog, unstructured text, queueing, SQL & NoSQL.
Stars: ✭ 1,555 (+1288.39%)
Mutual labels:  logging

Slimber - Android Logging with Kotlin

CI Status

Timber is a great library that makes logging very easy. However traditional logging like

if (BuildConfig.DEBUG) {
    String message = ...
    Log.d(TAG, message);
}

has one big advantage: The whole block will only be executed when you are in debug mode. If you pass anything to Timber, the String itself and the precalculations will be created. Even if you never planted a tree.

And this is where Slimber comes into play: It uses Kotlins inline capabilities so we can archieve the no-cost-effect because the whole block is executed only when there are trees planted. And remember: In Kotlin you can specify the last function in an arugment of a function outside the parentheses.

So you can do it like this:

d { "onCreate called with $expensiveToStringObject" }

There are also functions that take a throwable as the first paramter, so you can use them like

e(throwable) { "there was a severe error" }

Besides from that just use Timber for planting trees like you normally do

Timber.plant(DebugTree())

Installation

Add this to your root build.gradle

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

And then this dependency to your project:

dependencies {
    compile 'com.github.PaulWoitaschek:Slimber:x.y.z'
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].