作業が捗る!Powershellでログ監視ができるコマンドまとめ

こんにちは。

プログラミングを始めて早1年半、現在も絶賛修行中のMです!

開発をしていると、テストやデバッグ等で見ることの多いシステムログ。
WindowsではWindows PowerShellを使用すると簡単にログ監視ができることもあり、
私自身かなり重宝しています。

そこで、今回はログ監視ができるコマンド+応用編をまとめました。

 

「macのリアルタイムログ監視(tail -f)的なことをWindowsでもやりたい!」

「ログで特定のキーワードが含まれる行だけGrepして表示させたい!」

 

等々、PowerShellのログ監視関連コマンドを調べている方はぜひとも読んでいってください。

 

環境

Windows10 (64bit) / Windows PowerShell Version.5.1

※PowerShell Version.3.0以下の場合、後述の「- Tail」コマンドが使えないのでご注意。
事前にPowerShellバージョン確認コマンド「$PSVersionTable」で確認しておきましょうー。

 

 

ログを監視する

コマンド

以下のコマンドを打つだけで、ログの更新をリアルタイムで監視することができるようになります。

ログが更新される度に自動でダダーっと文字が流れてくるので、システムテスト時にかなり重宝してます。

 

例)「C:\test」 直下にある「test.log」を監視する

 

解説

各コマンドの概要は以下の通り。

 

コマンド 概要
Get-Content ファイルの内容を参照する
   -Wait ファイルの内容を常に監視する
   -Tail ファイルの末尾を監視する
-Tail n(数字) ファイル末尾のn行分を表示させる
   -Path 参照先のパス、ファイル名を指定する。
-Path “パス”

 

応用編

上記で説明したGet-Contentコマンドを応用すれば、以下のようなことも可能です。
プログラムのテスト、デバッグ等での利用を想定して、他にも役立ちそうなコマンドをまとめてみました!

Select-String:キーワードを含んだ行のみ表示させる

例)「test.log」で、キーワード「test」が含まれる行のみコンソールに表示させる。

 

Write-host:キーワードが出力される度に、特定の文を表示させる

例)「test.log」でキーワード「error」が出力された場合、コンソールに「エラーが発生しました」と表示させる。

 

おまけ

Start-Transcript:コンソールに出力された内容をファイルに記録する

ちなみに、コンソールに表示された内容をファイルとして出力する場合は
以下のコマンドを使用すると可能です。

 

これにより、C:\Users\[ユーザー名]配下にあるファイル末尾に、
以降のコマンド実行・出力内容が全て記録されるようになります。

例)C:\Users\[ユーザー名]配下のファイル「test」にコンソール内容を出力する。

 

まとめ

以上、Windows PowerShellのログ監視系コマンドについてまとめました。ただ単にログをリアルタイムで監視することの他にも、複数のコマンドを組み合わせることで
様々に活用できそうです。

 

以上、ありがとうございましたー!

この記事が気に入ったら
いいね ! しよう

Twitter で
The following two tabs change content below.
アバター
M
教育学部卒の文系エンジニア。 2019年4月に基本情報技術者試験に合格。 業務で使用する言語はVB、C#、html/cssなど。現在もプログラム開発絶賛修行中。

【採用情報】一緒に働く仲間を募集しています

採用情報
ページトップへ