use*_*384 6 powershell logging word-wrap
我想要Write-Verbose
一个out文件的很多数据.这就是我在做的方式.
Start-Transcript -Path $TargetDir\RunUnitTests.log -Width 1000000
Write-Verbose "five million character lines and stuff"
Run Code Online (Sandbox Code Playgroud)
这很好用,除了输出自动换行到控制台的标准宽度,这使得日志看起来非常糟糕.
我找到了一个解决方案,这里删除了死链接
,但它是如此复杂和复杂,我不想把它放在我的脚本下面的评论#Thar be dragons
.
有一个更好的方法吗?
这是一个非常简单的解决方法,基于Write-Host
此没有这样的问题.在会话开始时安装/ 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'
}
}
Run Code Online (Sandbox Code Playgroud)
然后这可以根据需要工作:
$VerbosePreference = 'Continue'
Start-Transcript -Path .\RunUnitTests.log
Write-Verbose ("verbose writes five million character lines and stuff. " * 20)
Run Code Online (Sandbox Code Playgroud)
那就是:它考虑到$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
**********************
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3237 次 |
最近记录: |