Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
记录Powershell异常_Powershell_Logging - Fatal编程技术网

记录Powershell异常

记录Powershell异常,powershell,logging,Powershell,Logging,我有一个正在运行的脚本,我想记录该脚本生成的所有异常。我想能够生成一个日志文件每次运行。因为这是我创建的第一个日志文件,所以我没有任何以前的版本可用作合理性检查…所以我想确保我得到的代码尽可能正确 我的剧本是从 $error.Clear() # flush PowerShell's error buffer $systemRunDate = Get-Date -format yyyyMdd"_"Hms

我有一个正在运行的脚本,我想记录该脚本生成的所有异常。我想能够生成一个日志文件每次运行。因为这是我创建的第一个日志文件,所以我没有任何以前的版本可用作合理性检查…所以我想确保我得到的代码尽可能正确

我的剧本是从

$error.Clear()                                          # flush PowerShell's error buffer
$systemRunDate    = Get-Date -format yyyyMdd"_"Hms      # get date as string
$errorLogFileName = "$($thedate)_Conversion_Test.log"   # generate logfile name
然后继续讨论一系列函数

function foo {
     do stuff
}

function foo2 {
     do stuff
}

function foo3 {
     do stuff
}
正在执行函数

foo
foo1
foo2
以…结尾

write-output $error | format-list | out-file -Append "$errorLog"
Foreach($erritem in $error) {
write-output $erritem.ExceptionMessage | out-file -Append "$errorLog"
}

考虑到我习惯于在控制台中看到flash,我的错误日志似乎很小,我想知道我是否有一些范围问题。我的想法是,通过声明文件名并在单个函数之外写入它,它将捕获每个错误。我是否还需要在每个单独的函数中写入错误?我猜不是,但我想再看一眼,让我知道我是否做对了

默认情况下,
$error
保存最后256个错误。该值在
$MaximumErrorCount
首选项变量中设置。不确定是否是这样,但如果是这样,您可以增加它(最多32768)。

Aha。我不知道发生了什么。谢谢你的提示;我将在重置首选项的情况下再次尝试运行。