2021.1.13

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 "あいう"

その他】関連記事