Android logs which have no performance impact in release builds.
build.gradle (app)
dependencies {
debugImplementation 'com.github.mrizyver.EfficientLogs:debug:1.4.1'
releaseImplementation 'com.github.mrizyver.EfficientLogs:release:1.4.1'
}
build.gradle (.)
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
class ClassName {
fun methodName() {
logv { "Verbose" } //prints 'ClassName: methodName(): Verbose'
logd { "Debug" } //prints 'ClassName: methodName(): Debug'
logi { "Info" } //prints 'ClassName: methodName(): Info'
logw { "Warning" } //prints 'ClassName: methodName(): Warning'
loge { "Error" } //prints 'ClassName: methodName(): Error'
logd { "".logNonEmpty() } //prints nothing
logd { null.logNonNull() } //prints nothing
logd { null.logNonEmpty() } //prints 'ClassName: methodName(): null'
}
}
class Application {
override fun onCreate() {
logfile(File(cacheDir, "log.txt")) //start writing to a log file
logfile(null) //stop writing to a log file
}
}
class Application {
override fun onCreate() {
logprefix("my_prefix ")
}
}
class ClassName {
fun methodName() {
logd { "Debug" } //prints 'my_prefix ClassName: methodName(): Debug'
}
}