PowerShell:有没有办法在调试输出中添加时间/日期戳?

Sea*_*ean 5 powershell logging

我一直在使用set-psdebug将调试输出发送到控制台.我想通过添加时间/日期戳来改进它,因为输出被捕获,这将有助于在事后解决问题.任何人这样做或知道如何做到这一点?

这个脚本全部使用:

set-psdebug -trace 1
Run Code Online (Sandbox Code Playgroud)

这会导致输出看起来像这样:

Debug:   14+  >>>> $ToFolder = "${UnixUserid}@${UnixServer}:${UnixFile}"
Run Code Online (Sandbox Code Playgroud)

目标是将时间/日期戳添加到Debug的左侧

Riv*_*art 2

我认为内置 cmdletSet-TraceSource是完成您想要的任务的最轻松的方式。您需要尝试使用 -Option 的可用值。我确实尝试用更高的 TraceLevel 实例化我自己的 TraceListener,但不知道如何将它们绑定到正在运行的 powershell 控制台。

Set-PSDebug -Trace 1
Set-TraceSource -Name "ParameterBinding" -Option ExecutionFlow -PSHost -ListenerOption "DateTime"
foreach ($i in 1..3) { $i }
Run Code Online (Sandbox Code Playgroud)

参考: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/set-tracesource ?view=powershell-6