Как подавить информацию и сообщения о успехе в sbt?
Когда я делаю sbt run
, я вижу некоторые сведения о верхнем и нижнем колонтитулах, от которых я бы хотел избавиться:
$ sbt run
[info] Set current project to XXX (in build file:/path/to/dir/)
<actual program output goes here; stuff I care about>
[success] Total time: 68 s, completed Apr 1, 2012 7:30:45 PM
$
Как я могу избавиться от этих двух дополнительных строк (т.е. строк [info]
и [success]
)? Существуют ли для этого настройки конфигурации build.sbt
? В идеале я не хочу иметь другой инструмент/зависимость, чтобы избавиться от этих двух строк.
Ниже приведен список вещей, которые я пробовал:
- Установить run logLevel для предупреждения
- Установить глобальный logLevel для предупреждения
- Установить
-Dsbt.log.noformat=true
Обходной путь, который я использую сейчас:
Скопируйте вызов java
, который sbt
генерирует (делая ps
или top
) в результате выполнения fork in run := true
и вручную запуская эту команду java
непосредственно в командной строке.
Лучше всего и намного чище, если sbt
может быть сказано не печатать эти строки.
- Scala версия: 2.9.1
- Версия SBT: 0.11.1
Ответы
Ответ 1
sbt 0,13.13
Используйте -warn
или -error
. См. Исправления с последствиями совместимости для версии sbt 0.13.13:
настоятельно рекомендуется перейти к одним вариантам дефиса: -error
, -warn
, -info
и -debug
sbt 0.13.1
Чтобы отключить сообщения info
, запустите SBT с параметрами командной строки --warn
или --error
.
Чтобы отключить сообщения [success]
, установите showSuccess
на false
.
Объединяя все вместе, он предоставляет вам следующие возможности:
-
В командной строке используйте следующее:
$ sbt --error 'set showSuccess := false' run
-
В build.sbt
добавить showSuccess := false
$ cat build.sbt
showSuccess := false
и выполните sbt --error run
.
Ответ 2
Как сказал Яцек в своем ответе, в build.sbt
вы можете добавить showSuccess := false
, чтобы подавить сообщение [success]
. Чтобы подавить сообщение [info]
, я установил logLevel на Level.Warn
только для конфигурации run
. Объединяя их, вы должны добавить эти строки в build.sbt
:
showSuccess := false
logLevel in run := Level.Warn
Ответ 3
Вы можете быть в состоянии избавиться от строки "Установить текущий проект", добавив это в свой файл build.sbt
:
onLoadMessage := ""