Я читаю файл журнала, который выглядит следующим образом:
2019-01-22 13:58:01,524 [1] DEBUG BuH.Sync.Json.ImportSet [(null)] - Import #12344453467612341
2019-01-22 13:58:01,735 [1] DEBUG BuH.Sync.Json.ImportSet [(null)] - Log Stuff
2019-01-22 13:58:01,742 [1] DEBUG BuH.Sync.Json.ImportItem [(null)] - Log Stuff
2019-01-22 13:58:01,761 [1] DEBUG BuH.Sync.Json.BusinessObjects.Adresse [(null)] - Log Stuff
2019-01-22 13:58:01,781 [1] INFO BuH.Sync.Json.Mapping.Converter2 [(null)] - Log Stuff
2019-01-22 13:58:01,785 [1] ERROR BuH.Sync.Json.Mapping.Json.JsonAdressConverter [(null)] - LOG SYSTEM ERROR CODE
2019-01-22 13:58:01,894 [1] DEBUG BuH.Sync.Json.ImportSet [(null)] - Import #9546181668418643
2019-01-22 13:58:01,896 [1] DEBUG BuH.Sync.Json.ImportSet [(null)] - Log Stuff
2019-01-22 13:58:01,897 [1] DEBUG BuH.Sync.Json.ImportItem [(null)] - Log Stuff
2019-01-22 13:58:01,902 [1] ERROR BuH.Sync.Json.Mapping.Json.JsonAdressConverter [(null)] - LOG SYSTEM ERROR CODE
Я могу легко найти строки ERROR с Get-Content .\JSON.log | ? {($_ | Select-String “Error”)}
, однако для отчета по электронной почте я хочуподготовить, мне нужна строка с соответствующим Import # , который предшествовал ей.Я не могу использовать -context
, поскольку строки между ошибкой и строкой номера импорта колеблются.
Можно ли искать в журнале, найти строку, а затем искать другую строку в обратном направлении?