A lightweight Kotlin logging utility for Android - designed for simplicity, consistency, and speed.
Logger is a minimal Kotlin-based logging library built for modern Android development.
It provides a structured, lightweight wrapper around Android’s native Log class —
adding automatic tag generation, cleaner stack traces, and consistent output formatting.
Perfect for developers who want a quick, dependency-free logging solution that just works.
| Component | Version / Target |
|---|---|
| JDK | 17 (OpenJDK) |
| Android Gradle Plugin | 8.3.2+ |
| Kotlin | 1.9.22+ |
| Min SDK | 28 |
| Compile SDK | 34 |
| Gradle | 8.x |
| Publisher | JitPack |
Add the JitPack repository and dependency in your project.
repositories {
maven("https://jitpack.io")
}
dependencies {
implementation("com.github.StylesDevelopments:Logger:1.0.0")
}repositories {
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.StylesDevelopments:Logger:1.0.0'
}[versions]
logger = "1.0.0"
[libraries]
stylesdevelopments-logger = { module = "com.github.StylesDevelopments:Logger", version.ref = "logger" }Usage in Gradle:
implementation(libs.stylesdevelopments.logging)import com.stylesdevelopments.logging.Logger
class Example {
fun doSomething() {
Logger.d("Debug message")
Logger.w("Warning message")
Logger.e("Error message")
}
}Logger automatically derives the tag from the calling class name,
so the above will print something like:
D/Example: Debug message
W/Example: Warning message
E/Example: Error message
| Method | Description |
|---|---|
Logger.d(message: String) |
Debug log |
Logger.d(message: String, throwable: Throwable?) |
Debug log with exception |
Logger.w(message: String) |
Warning log |
Logger.w(message: String, throwable: Throwable?) |
Warning log with exception |
Logger.e(message: String) |
Error log |
Logger.e(message: String, throwable: Throwable?) |
Error log with exception |
plugins {
id("com.android.library") version "8.3.2"
id("org.jetbrains.kotlin.android") version "1.9.22"
id("maven-publish")
}
android {
namespace = "com.stylesdevelopments.logging"
compileSdk = 34
defaultConfig {
minSdk = 28
consumerProguardFiles("consumer-rules.pro")
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlin {
compilerOptions {
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
}
}
}
afterEvaluate {
publishing {
publications {
create<MavenPublication>("release") {
from(components["release"])
groupId = "com.github.StylesDevelopments"
artifactId = "Logger"
version = "1.0.0"
}
}
}
}jdk:
- openjdk17
install:
- ./gradlew publishToMavenLocal Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
Copyright (c) 2025 StylesDevelopments.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Taylor Styles
👨💻 Android Engineer
📍 Bristol, UK
💼 StylesDevelopments
“A logger should be invisible until you need it — then it should tell you everything.”