Я использую следующий код, чтобы подключиться к системе ведения журнала SBT, чтобы отправить сообщения журнала в другой процесс, доступный с помощью параметра server
:
extraLoggers := {
val clientLogger = FullLogger {
new Logger {
def log(level: Level.Value, message: => String): Unit =
if(level >= Level.Info) server.value.send(Json.arr("print", level.toString(), message))
def success(message: => String): Unit = server.value.send(Json.arr("print", "info", message))
def trace(t: => Throwable): Unit = server.value.send(Json.arr("print", "error", t.toString))
}
}
val currentFunction = extraLoggers.value
(key: ScopedKey[_]) => clientLogger +: currentFunction(key)
}
Когда я смотрю на вывод, вырванный из другого процесса server
, я не вижу сообщений с зелеными тегами [success]
. Все остальное (т.е. Все сообщения [info]
и красные сообщения [error]
) выглядят просто отлично.
Распечатка clientLogger.successEnabled
дает мне true
.
Что я делаю неправильно?