1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-27 08:38:13 -07:00

Better logging.

This commit is contained in:
Cedric Beust 2015-11-18 23:16:59 -08:00
parent b91c8f2c83
commit bb35408c56

View file

@ -37,26 +37,24 @@ object KobaltLogger {
class Logger(val dev: Boolean) { class Logger(val dev: Boolean) {
val FORMAT = SimpleDateFormat("HH:mm:ss.SSS") val FORMAT = SimpleDateFormat("HH:mm:ss.SSS")
private fun getPattern(type: String, devType: String, tag: String, message: String) = private fun getPattern(shortTag: String, shortMessage: String, longMessage: String, tag: String) =
if (dev) { if (dev) {
val ts = FORMAT.format(Date()) val ts = FORMAT.format(Date())
"$type/$ts [" + Thread.currentThread().name + "] $tag - $message" "$shortTag/$ts [" + Thread.currentThread().name + "] $tag - $shortMessage"
} else { } else {
devType + message longMessage
} }
final fun debug(tag: String, message: String) = final fun debug(tag: String, message: String) =
println(getPattern("D", "Debug ", tag, message)) println(getPattern("D", message, message, tag))
final fun error(tag: String, message: String, e: Throwable? = null) { final fun error(tag: String, message: String, e: Throwable? = null) {
val docUrl = if (e is KobaltException && e.docUrl != null) e.docUrl else null val docUrl = if (e is KobaltException && e.docUrl != null) e.docUrl else null
val shortMessage = if (e != null) e.message else { "<unknown error>" } val text = if (e != null) e.message else { "<unknown error>" }
val longMessage = "*****\n***** ERROR " + shortMessage + val shortMessage = "***** E $text " + docUrl?.let { " Documentation: $docUrl" }
(if (docUrl != null) { "\n***** Documentation: $docUrl" } else "") + val longMessage = "*****\n***** ERROR $text\n*****"
"\n*****"
println(getPattern("***** E $shortMessage " + docUrl?.let { " Documentation: $docUrl" }, println(getPattern("E", shortMessage, longMessage, tag))
longMessage, tag, message))
if (KobaltLogger.LOG_LEVEL > 1) { if (KobaltLogger.LOG_LEVEL > 1) {
e?.printStackTrace() e?.printStackTrace()
} }
@ -64,11 +62,11 @@ class Logger(val dev: Boolean) {
final fun warn(tag: String, message: String, e: Throwable? = null) { final fun warn(tag: String, message: String, e: Throwable? = null) {
val fullMessage = e?.message ?: message val fullMessage = e?.message ?: message
println(getPattern("W", "***** WARNING ", tag, fullMessage)) println(getPattern("W", fullMessage, fullMessage, tag))
} }
final fun log(tag: String, message: String, newLine: Boolean) = final fun log(tag: String, message: String, newLine: Boolean) =
with(getPattern("L", "", tag, message)) { with(getPattern("L", message, message, tag)) {
if (newLine) println(this) if (newLine) println(this)
else print("\r" + this) else print("\r" + this)
} }