0
私はアプリケーションが常にエラーになるテキストファイルを持っています。私はPowershellでこのファイルを監視し、すべてのエラーを別のソースに記録します。複数行でpowershellとregex matchを使ってテキストをストリームする方法
解決する問題:私たちが待っているときに複数行のテキストを渡すにはどうすればよいですか? Get-Contentは文字列の配列を渡しています。
$File = 'C:\Windows\Temp\test.txt'
$content = Get-Content -Path $file
# get stream of text
Get-Content $file -wait -Tail 0 | ForEach-Object {
if ($_ -match '(<ACVS_T>)((.|\n)*)(<\/ACVS_T>)+'){
write-host 'match found!'
}
}
ドロップを取得し、テキストジャンクの例:
<ACVS_T>
<ACVS_D>03/01/2017 17:24:03.602</ACVS_D>
<ACVS_TI>bf37ba1c9,iSTAR Server Compone</ACVS_TI>
<ACVS_C>ClusterPort</ACVS_C>
<ACVS_S>SoftwareHouse.NextGen.HardwareInterface.Nantucket.Framework.ClusterPort.HandleErrorState()
</ACVS_S>
<ACVS_M>
ERROR MESSAGE FROM APP
</ACVS_M>
<ACVS_ST>
</ACVS_ST>
</ACVS_T>
私自身の問題を解決しました – user3839452