警告和错误的记录不会写入 Powershell 中的日志文件

Logging of warnings and errors are not written to log file in Powershell

我已经在 PowerShell 中为 SVN 创建了一个迁移脚本到 Git,我会记录命令 git svn clone 的输出。当我像下面这样 运行 时,我看到警告和错误等一些行没有写入日志文件。其余行写入 logs.txt.

git svn clone "https://subversion/repo" "repo" > logs.txt

相同
git svn clone "https://subversion/repo" "repo" | Out-File -FilePath logs.txt

我也尝试过使用 Start-Transcript logs.txtStop-Transcript,但是没有在日志文件中记录任何内容。

如何将警告和错误记录到该日志文件?

您需要将标准错误重定向到文件。注意 2

git svn clone "https://subversion/repo" "repo" 2> logs.txt

1 是标准输出
2 是标准错误

重定向标准输出和标准错误。将 stderr 重定向到 stdout

git svn clone "https://subversion/repo" "repo" > logs.txt 2>&1