首页 > 解决方案 > 警告和错误的日志不会写入 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但它不会在日志文件中记录任何内容。

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

标签: gitpowershellloggingsvn

解决方案


您需要将 stderr 重定向到该文件。注意2

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

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

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

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

推荐阅读