Scala 如何在sbt中抑制信息和成功消息?
当我运行Scala 如何在sbt中抑制信息和成功消息?,scala,sbt,Scala,Sbt,当我运行sbt时,我看到一些我想删除的页眉和页脚信息: $ 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 $ $sbt运行 [信息]将当前项目设置为XXX
sbt
时,我看到一些我想删除的页眉和页脚信息:
$ 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
$
$sbt运行
[信息]将当前项目设置为XXX(在生成文件中:/path/to/dir/)
[成功]总时间:68秒,完成时间:2012年4月1日下午7:30:45
$
我怎样才能去掉这两行(即[info]
和[success]
行)?是否有一些build.sbt
配置设置可用于此操作?理想情况下,我不想为了摆脱这两行代码而使用另一个工具/依赖项
以下是我尝试过的事情列表:
- 将运行日志级别设置为警告
- 将全局日志级别设置为警告
- 设置
-Dsbt.log.noformat=true
sbt
生成的java
调用(通过执行ps
或top
)作为执行fork-in-run:=true
的结果,并直接在命令行上手动运行该java
命令
如果能告诉sbt
不要打印这些行,那就最好了,而且要干净得多
- Scala版本:2.9.1
- SBT版本:0.11.1
build.sbt
文件中来摆脱“设置当前项目”行:
onLoadMessage := ""
sbt 0.13.13
使用-warn
或-error
。见:
强烈建议迁移到单连字符选项:-error
、-warn
、-info
和-debug
sbt 0.13.1
要禁用info
消息,请使用--warn
或--error
命令行选项运行SBT
要禁用[success]
消息,请将showSuccess
设置为false
将这一切结合在一起,它为您提供了以下选项:
- 在命令行上使用以下命令:
$ sbt --error 'set showSuccess := false' run
- 在
addbuild.sbt
showSuccess:=false
然后执行$ cat build.sbt showSuccess := false
sbt--error run
build.sbt
中,您可以添加showSuccess:=false
以抑制[success]
消息。为了抑制[info]
消息,我将日志级别设置为级别。仅针对运行配置发出警告。将其放在一起,您希望将这些行添加到build.sbt
:
showSuccess := false
logLevel in run := Level.Warn
你总是这样开始你的申请吗?sbt是一种构建工具,而不是应用程序运行程序。如果我的假设是正确的,我建议您构建和打包应用程序,并使用“scala.Thank@drexin”运行它。是的,我意识到有更好的方法来启动它。我现在正在使用。非常酷,做了我一直想做的事情:简单而直接的调用后开发。这也是我的经验。不再适用于sbt 1.0.2。应在sbt 1.1.2中再次适用: