你好。 我寫了一個很好的除錯函式,提供了它所呼叫的函式的名稱。代碼是:
Function Write-Log{
$callerName = (Get-Variable MyInvocation -Scope 1) .Value.MyCommand.Name
$stamp = (Get-Date).toString("yyyy/MM/dd HH:mm:ss"/span>)
$line = "$stamp [$level`] 。$callerName $Message"
Write-Host $line -ForegroundColor $color""。
}
從.ps1腳本中呼叫時效果很好;但我開始重構代碼,將一些函式移到.psm1模塊中--這就是該函式失敗的地方。它沒有列印出函式名稱,而是只提供了模塊的名稱。
我怎樣才能修復這個函式,使它只顯示函式名,或范圍&函式名呢?
uj5u.com熱心網友回復:
謝謝你leeharvey1。把你的建議作為答案發布出來,以幫助其他社區成員。
從你的模塊中,我們可以看到你的建議。
從你的模塊,你可以嘗試使用$callerName = "{0} - {1}:" -f (Get-PSCallStack)[1].Location, (Get-PSCallStack)[1].FunctionName。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/316548.html
標籤:
上一篇:VSCode非系結斷點
下一篇:獲取raiseKeyError(key)fromerrKeyError:'fbs'indifferentdataset
