У меня есть файл журнала с несколькими строками текста из нескольких файлов журнала.Я пытаюсь отправить содержимое файлов журнала в теле письма, используя Send-MailMessage.
Мой вопрос: я пытаюсь извлечь строки текстовой строки Exception
из нескольких файлов журнала.Я хочу сопоставить это с утверждением if.Я пробовал сценарий, как показано ниже, но не повезло.Любая идея будет принята с благодарностью.
Содержимое файла журнала:
25/Dec/2018 11:50:05.224 ERROR 3805 com.crm.dao.CrmDaoJdbcImpl(L:608) - Exception created
Rerun the transaction.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:216)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1522)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:404)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:350)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696)
После извлечения желаемого результата:
25/Dec/2018 11:50:05.224 ERROR 3805 com.crm.dao.CrmDaoJdbcImpl(L:608) - Exception created
Вот фрагмент сценария для справки.
$SourceDir = "C:\Temp\TEMP2"
#$GCI_Fiter = '*.txt'
$Include=@("*.log","*.txt")
$FileList = Get-ChildItem -LiteralPath $SourceDir -Include "$Include" -File
foreach ($FL_Item in $FileList) {
$FLI_Content = Get-Content -LiteralPath $FL_Item.FullName -Raw
if ( ???????? ) {
$ExceptionLines = $FLI_Content | Select-String -SimpleMatch 'Exception' | ForEach-Object {$_.ToString().Trim()}
$ExceptionLines
}
else {
Write-Warning "Could not find Exception keyword from '$FL_Item.FullName'.."
}
}
Заранее спасибо,