如何在sbt中抑制信息和成功消息?

Arv*_*d K 17 scala 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
$ 
Run Code Online (Sandbox Code Playgroud)

如何摆脱这两条额外的线(即线[info][success]线)?是否有build.sbt可用的配置设置?理想情况下,我不希望有另一个工具/依赖只是为了摆脱这两行.

以下列出了我尝试过的事情:

  • 将run logvel设置为Warn
  • 将Global logLevel设置为警告
  • -Dsbt.log.noformat=true

我当前使用的解决方法:复制生成(通过执行或)执行的java调用,并直接在命令行上手动运行该命令.sbtpstopfork in run := truejava

如果sbt可以被告知不打印这些线条,那将是最好和更清洁.

  • Scala版本:2.9.1
  • SBT版本:0.11.1

Jac*_*ski 16

sbt 0.13.13

使用-warn-error.有关sbt 0.13.13版本的兼容性含义,请参阅修复:

强烈鼓励迁移到单一的连字符选项:-error,-warn,-info,和-debug

sbt 0.13.1

要禁用info消息,请使用--warn--error命令行选项运行SBT .

禁用[success]设置showSuccess为的邮件false.

将它们整合在一起,它为您提供以下选项:

  • 这些似乎都不再适用于sbt 1.0 (4认同)
  • 这也是我的经验.不再适用于1.0.2. (2认同)

Ada*_*gle 7

正如Jacek在他的回复中提到的那样,build.sbt你可以添加showSuccess := false来抑制[success]消息.要禁止[info]消息,我将logLevel设置Level.Warnrun仅用于配置.将它们组合在一起,您需要将这些行添加到build.sbt:

showSuccess := false

logLevel in run := Level.Warn
Run Code Online (Sandbox Code Playgroud)


Set*_*sue 4

您应该能够通过将其添加到文件中来摆脱“设置当前项目”行build.sbt

onLoadMessage := ""
Run Code Online (Sandbox Code Playgroud)