Cake Task 输出日志到文件

Cake Task output log to file

我在 build.cake 文件中有一组任务,我想将控制台的日志输出捕获到日志文件中。我知道可以使用 OnError() 函数将错误输出到文件,但我想将所有内容输出到日志文件,而不仅仅是错误。 下面是 build.cake 文件的示例。

#load "SomeTask.cake"
#load "SomeOtherTask.cake"

var target = Argument("target", "Default");

var someTask = Task("SomeTask")
.Does(() =>
{
     SomeMethodInsideSomeTask();
});

var someOtherTask = Task("SomeOtherTask")
.Does(() => 
{
    SomeOtherMethodInsideSomeOtherTask();
});

Task("Default")
.IsDependentOn(someTask)
.IsDependentOn(someOtherTask);

RunTarget(target);

N.B。任务不是 运行 任何类型的 MSBuild 命令,因此无法使用 MSBuildFileLogger.

如何将标准输出通过管道传输到文件,即

./build.ps1 > log.txt

你听说过 tee 吗? 它读取标准输入并将其写入标准输出和一个或多个文件