gpt4 book ai didi

logging - 在 Powershell 中不换行到命令宽度的写入详细输出

转载 作者:行者123 更新时间:2023-12-04 15:15:42 25 4
gpt4 key购买 nike

我要 Write-Verbose大量数据到一个输出文件。这就是我的做法。

Start-Transcript -Path $TargetDir\RunUnitTests.log -Width 1000000
Write-Verbose "five million character lines and stuff"

这很好用,除了输出自动包装到控制台的标准宽度之外,这使得日志看起来非常糟糕。

我找到了一个解决方案heredead链接已删除
,但它是如此复杂和复杂,以至于我不想把它放在我的脚本中评论下方 #Thar be dragons .

有一个更好的方法吗?

最佳答案

这是一个基于 Write-Host 的非常简单的解决方法没有这样的问题。在 session 开始时 install/dot-source 替换默认 Write-Verbose :

function global:Write-Verbose
(
[string]
$Message
)
{
# check $VerbosePreference variable
if ($VerbosePreference -ne 'SilentlyContinue') {
# do this via Write-Host
Write-Host "VERBOSE: $Message" -ForegroundColor 'Yellow'
}
}

然后这根据需要工作:
$VerbosePreference = 'Continue'
Start-Transcript -Path .\RunUnitTests.log
Write-Verbose ("verbose writes five million character lines and stuff. " * 20)

即:它考虑到 $VerbosePreference ,它以黄色写入主机,转录输出未换行,但仍标记为 VERBOSE。
**********************
Windows PowerShell Transcript Start
Start time: 20101105055855
**********************
Transcript started, output file is .\RunUnitTests.log
VERBOSE: verbose writes ... <long line text> ... and stuff.
**********************
Windows PowerShell Transcript End
End time: 20101105055855
**********************

关于logging - 在 Powershell 中不换行到命令宽度的写入详细输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4103484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com