Как подавить информацию и сообщения об успехах в 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 ...

Работает у меня вsbt1.8.0

Другие вопросы по тегам