Я анализирую файлы журнала ошибок на нескольких серверах и должен сообщать о проблемных ошибках.
Файлы журнала ошибок должны содержать как минимум следующее (известные ошибки, которые исправны):
- ОШИБКА Некоторый текст ошибки
- ОШИБКА Еще один текст ошибки
- ОШИБКА Вот еще текст ошибки
Что мне нужно, так это шаблон поиска Select-String, который включает в себя все три текстовые строки выше:
$Search_Str_1 = "ERROR Some error text"
$Search_Str_2 = "ERROR Some more error text"
$Search_Str_3 = "ERROR Here is more error text"
$ Search_Str_1, $ Search_Str_2 и $ Search_Str_3 - допустимые строки ошибок, о которых не следует сообщать, если они обнаружены в журналах ошибок. Однако если обнаружена какая-либо дополнительная строка ошибки, которая не соответствует ни одной из приведенных выше строк поиска, то она должна быть сообщена как ошибочная.
Пример:
- ОШИБКА Некоторый текст ошибки
- ОШИБКА Еще один текст ошибки
- ОШИБКА Вот еще текст ошибки
- ОШИБКА Это неверный текст ошибки, о котором следует сообщить
Четвертая строка ошибки (и любая другая строка, которая не соответствует search_str 1, 2 или 3) должна указываться как плохая.
Гипотетический код:
$ErrorLog = Get-ChildItem -Path $LOG_PATH -Include Error.log -Recurse | Select-String -notmatch ($Search_Str_1 -or $Search_Str_2 -or $Search_Str_3)
Как бы я это сделал?