将 stdout 和 stderr 重定向到 Scala 中的输出流

Redirect both stdout and stderr to output stream in Scala

我想在 Scala 中做的是将标准输出和标准错误重定向到输出流。我知道 scala.Console.withOutscala.Console.withErr 但似乎我需要分别调用这些函数,这导致 运行 我的命令(函数)两次:

scala.Console.withOut(out)(f)
scala.Console.withErr(out)(f)

我只想调用 f 一次并在流中同时获得 outerr

您可以嵌套它们:

Console.withOut(out) {
  Console.withErr(out) {
    f
  }
}