Scala日記

Scalaの備忘録。ときどき研究の話。

sbtで実行するときにstdoutにsbtのログを出さないようにする

sbt経由でプログラムを実行すると

[info] Loading project definition from...
[info] Set current project to ...
[info] Running ...

[success] Total time: 3 s, completed 2015/07/...

などが「標準出力」に出てしまって、出力をリダイレクトして処理しにくい。

そこで、

sbt --error 'set showSuccess := false'  'set outputStrategy := Some(StdoutOutput)' run

や、

sbt --error 'set showSuccess := false'  'set outputStrategy := Some(StdoutOutput)' 'runMain MainClass'

などとすると、これらを沈黙させることができる。 もちろん、これらをbuild.sbt等に直書きしておけば常に沈黙を保てる。

それでもなお

Loading ...

などが残る場合は、以下の sbt-extraをインストールして、.sbtignoreに無視したい文字列を書く。

github.com

参考文献:

  1. stackoverflow.com