将stdout从SBT重定向到文件

时间:2012-01-24 23:07:36

标签: sbt io-redirection

受到示例on the SBT github page的启发,我正在尝试将SBT交互模式中运行生成的stdout重定向到文件。

这是我失败的尝试:

> run #> file('/Users/dsg/temp/temp.txt') !

我在最后使用!时都尝试过。我试过单引号和双引号。什么都行不通 - 它的行为就像省略#> file(...一样,只会打印到stdout,没有创建文件。

4 个答案:

答案 0 :(得分:10)

我不是SBT专家,但这似乎不是正确的功能。

> run将其后面的所有内容解释为文件参数。 #>似乎是sbt库的一部分,用于项目sbt文件,而不是在他们的提示符下。

解决这个问题,我退出sbt,并使用我的外壳执行此操作:

$ sbt "run" > run_output.txt

答案 1 :(得分:4)

不知道如何从sbt控制台执行此操作,但是从shell命令行可以通过以下方式捕获sbt输出:

sbt "test" 2>&1 > test.log

答案 2 :(得分:2)

这对我有用:

sbt | tee log.txt

答案 3 :(得分:1)

你可以试试这个。

sbt test >> "log.txt"