Как подавить информацию и сообщения об успехах в 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
$
Как я могу избавиться от этих 2 дополнительных строк (т.е. [info]
а также [success]
линии)? Есть ли некоторые build.sbt
настройки конфигурации доступны для этого? В идеале я не хочу иметь другой инструмент / зависимость, просто чтобы избавиться от этих двух строк.
Ниже приведен список вещей, которые я пробовал:
- Установите run logLevel на Warn
- Установите Global logLevel на Warn
- Задавать
-Dsbt.log.noformat=true
Обходной путь, который я сейчас использую: Скопируйте java
вызов, что sbt
генерирует (делая ps
или же top
) в результате выполнения fork in run := true
и вручную запустить это java
Команда непосредственно в командной строке.
Было бы лучше и намного чище, если sbt
можно сказать, чтобы не печатать эти строки.
- Версия Scala: 2.9.1
- Версия SBT: 0.11.1
4 ответа
сб 0,13,13
использование -warn
или же -error
, См. Исправления с последствиями совместимости для выпуска sbt 0.13.13:
настоятельно рекомендуется перейти на один дефис:
-error
,-warn
,-info
, а также-debug
свт 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
,
Как отметил Яцек в своем ответе, в build.sbt
можете добавить showSuccess := false
подавить [success]
сообщение. Подавить [info]
сообщение, я бы установил logLevel на Level.Warn
для run
только конфигурация Собирая это вместе, вы хотите добавить эти строки в build.sbt
:
showSuccess := false
logLevel in run := Level.Warn
Вы должны быть в состоянии избавиться от строки "Установить текущий проект", добавив ее в свой build.sbt
файл:
onLoadMessage := ""
Это старый вопрос, который появляется в верхней части веб-поиска, но дает неправильный ответ. После того , как это изменение было недавно объединено, предписанным способом подавления интерактивного шума является передача двух флагов в sbt:
sbt -batch -error ...
Работает у меня вsbt
1.8.0