Многие мои команды, которые я пишу внутри модулей powershell, сопровождаются записью в журнал событий. У меня есть отдельная утилита журналирования, которая сканирует записи типа предупреждения / ошибки, а затем отправляет мне электронное письмо.
Это хорошо, потому что я получаю много подробной информации о своих модулях. Однако мои модули выглядят немного загроможденными всей логикой eventlog.
вот пример
$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'
}
}
Как вы ведете ведение журнала событий таким образом, что заранее уведомляет, когда что-то происходит не так, но также не мешает логике кода?