WindowsのPowerShellでログの監視(wait、tail)
Windowsでログの監視をしたい時にPowerShellのコマンドを使用する方法です。
コマンド
PowerShellでログを監視する場合、Get-Contentを使って以下のようにします。
Get-Content .\test.log -wait -tail 0
- wait:新しい行が追加された時に表示
- tail:最後の行から表示。すぐ後の数値で行数を指定(0を指定することで出力済みのログが表示されない)
特定の文字が含まれた行のみ表示したい場合は、Select-Stringを使います。
Get-Content .\test.log -wait -tail 0 | Select-String "abc"
注意点として、Get-Contentのデフォルトの文字コードがShift_JIS(default)となっているので、対象のファイルがUTF8の場合は、以下のようにしないと日本語が文字化けしたり、Select-Stringで指定した文字がヒットしなかったりします。
Get-Content .\test.log -Encoding UTF8 -wait -tail 0 | Select-String "あいう"