如何让sbt执行runMain时仅输出println内容无额外附加信息?
实现方法
完全可以通过sbt原生命令行参数实现该需求,不需要修改build.sbt内的任何配置,具体操作如下:
- 追加
-batch参数:启用批处理模式,跳过sbt的欢迎提示、项目加载提示等非必要前置输出 - 追加
-error参数:将sbt自身的日志输出级别调整为仅输出错误信息,默认的[info]级别的日志(包括sbt运行日志、runMain命令的前置输出)会被完全过滤,仅保留你的程序通过println打印的标准输出内容
最终可直接使用的命令如下:
sbt -batch -error 'runMain com.foo.bar.Main'
如果担心漏看程序或sbt抛出的警告信息,也可以将-error替换为-warn,仅过滤info级别的日志,同时保留警告和错误输出。
内容的提问来源于stack exchange,提问作者Max Heiber
相关产品推荐
相关产品推荐

