Sbt: подавление префикса протоколирования в stdout
При использовании sbt с forking (fork in run := true
) каждый вывод моего приложения в stdout имеет префикс [info]
; вывод в stderr имеет префикс [error]
.
Это поведение несколько раздражает при использовании фреймворка регистрации Java, который выводится на stderr. Получающиеся отладочные сообщения обычно выглядят следующим образом:
[error] [main] INFO MyClass ...
[error] [main] DEBUG MyClass ...
Я хотел бы подавить эти префиксы, например, при запуске кода без форкирования. Что я пробовал:
-
sbt -Dsbt.log.noformat=true
в запуске sbt script. Но это только удаляет цветной выход ANSI; префиксы все еще существуют без цвета
- настройка
logLevel in run := Level.Error
в build.sbt
. Это, похоже, не влияет на запись с помощью forking.
Есть ли способ подавить префиксы?
Ответы
Ответ 1
Вам нужно установить стратегию вывода вашего проекта.
В моей расширенной сборке у меня есть следующие настройки:
settings = Project.defaultSettings ++ Seq(
fork := true, // Fork to separate process
connectInput in run := true, // Connects stdin to sbt during forked runs
outputStrategy := Some(StdoutOutput) // Get rid of output prefix
// ... other settings
)