test(jetbrains): snapshot captured log messages

This commit is contained in:
kirillk
2026-05-18 16:40:49 -04:00
parent 1bae6adfe0
commit 44942c1f60
@@ -6,29 +6,31 @@ import ai.kilocode.log.KiloLog
* Test logger that captures messages for assertions and prints to stdout.
*/
class TestLog : KiloLog {
val messages = mutableListOf<String>()
private val items = mutableListOf<String>()
val messages: List<String>
get() = synchronized(items) { items.toList() }
override var isDebugEnabled: Boolean = true
override fun debug(block: () -> String) {
if (!isDebugEnabled) return
val msg = block()
synchronized(messages) { messages.add("DEBUG: $msg") }
synchronized(items) { items.add("DEBUG: $msg") }
println("[test] DEBUG: $msg")
}
override fun info(msg: String) {
synchronized(messages) { messages.add("INFO: $msg") }
synchronized(items) { items.add("INFO: $msg") }
println("[test] INFO: $msg")
}
override fun warn(msg: String, t: Throwable?) {
synchronized(messages) { messages.add("WARN: $msg") }
synchronized(items) { items.add("WARN: $msg") }
println("[test] WARN: $msg")
t?.printStackTrace()
}
override fun error(msg: String, t: Throwable?) {
synchronized(messages) { messages.add("ERROR: $msg") }
synchronized(items) { items.add("ERROR: $msg") }
System.err.println("[test] ERROR: $msg")
t?.printStackTrace()
}