我在Powershell模块中编写的许多命令后面都会写入事件日志。我有一个单独的日志记录实用程序,可扫描警告/错误的条目类型,然后向我发送电子邮件。
这很好,因为我获得了有关模块的大量详细信息。但是,我的模块在所有事件日志逻辑上看起来都很混乱。
这是一个例子
$EventLogParameters = @{LogName='Application';Source='mymodule'}
New-EventLog @EventLogParameters -ErrorVariable EventLogProblem -ErrorAction SilentlyContinue
if ($EventLogProblem -notmatch 'source is already registered') {Write-Error $EventLogProblem}
function Some-Command {
param(
#some parameters here
)
<command one>
if ($?) {
Write-EventLog 'success'
}
else {
Write-EventLog 'error'
}
<command two>
if ($?) {
Write-EventLog 'success'
}
else {
Write-EventLog 'error'
}
}
您如何处理事件记录,以便在出现故障时主动通知,但又不会妨碍代码逻辑?