Skip to content

Instantly share code, notes, and snippets.

@nick6969
Created April 5, 2020 06:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nick6969/71438438c60a557f05b596d73477c77c to your computer and use it in GitHub Desktop.
Save nick6969/71438438c60a557f05b596d73477c77c to your computer and use it in GitHub Desktop.
Android Logger Util
import android.util.Log
import co.xxxx.xxxx.BuildConfig
object LoggerUtil {
private val isShowLog: Boolean = BuildConfig.DEBUG
private enum class LogType { E, I, D, V, W }
fun e(message: String) {
log(LogType.E, message)
}
fun i(message: String) {
log(LogType.I, message)
}
fun d(message: String) {
log(LogType.D, message)
}
fun v(message: String) {
log(LogType.V, message)
}
fun w(message: String) {
log(LogType.W, message)
}
private fun log(type: LogType, log: String) {
if (!isShowLog) return
val stack = Throwable().stackTrace[2]
val lineNumber = stack.lineNumber
val fileName = stack.fileName
val methodName = stack.methodName
val tag = "($fileName:$lineNumber)"
val message = "$methodName: $log"
when (type) {
LogType.E -> Log.e(tag, message)
LogType.I -> Log.i(tag, message)
LogType.D -> Log.d(tag, message)
LogType.V -> Log.v(tag, message)
LogType.W -> Log.w(tag, message)
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment