Windowsにはイベントログと呼ばれる機能がある。これは、システムやアプリケーションなどが、発生したイベントを記録し、後でのメンテナンスなどに利用するものだ。管理ツールにあるイベントビューアーでも簡単には見ることができる。今回は、このあたりを解説する。
目的としては、Windows内で発生した複数のプログラムが関わる特定の作業の経過などを取り出し、その経過を追えるようにする。筆者は、Windowsの機能アップデートに関しての情報を収集したいと思って調べ始めた。
|
---|
イベントログは、Windows内で発生したさまざまなイベントを記録したもの。この中には再起動やアップデートのインストールなどさまざまな情報がある |
そもそもWindowsのイベントログとは
Windowsのイベントログは、現在では、EVTX形式のファイルに記録され、
C:\Windows\System32\winevt\Logs
というフォルダー以下に置かれている。イベントログ機能自体はWindows NTの頃からあり、当初はEVT形式でログを記録していた。その後Windows Vistaで形式が拡張されEVTX形式となった。
なお、Windowsにはもう1つ、イベントトレースログ(Event Trace Log。ETL)と呼ばれるものがある。イベントログがどちらかというと、作業をした後での記録であるのに対して、ETLは起動中のプログラムの経過を記録する場合に使われることが多く情報量も多い。
しかし一般的には、ログインしたとか、インストールしたとかのイベントの記録だけで十分なことが多く、イベントログを使った管理が行われるのが普通。これに対してETLは、たとえば、デバイスドライバーの挙動やWindows Updateのアップデート作業の経過などを記録するために使われている。このため、データ量が多く、日常的な記録には向いていない。なお、ETLは、
C:\Windows\Logs
以下に保存されていることが多い(これ以外の場所で見つかることもある)。
EVTX/ETLともにファイル形式自体は未公開だが、その変換や表示を可能にする手段が複数提供されており、これらを使うことで、Windowsの管理ができるが、それぞれ一長一短ある。
イベントビューアーを起動するとわかるが、Windowsのイベントログは多数ある。しかし、記録形式としてはEVTXのみなので、基本的にどのログも情報の形式としては同じである。ただ、後述するが、イベントビューアーで見える項目は、従来のEVT形式だったときのものと同じで、実際に記録されている情報とはちょっと違う。
イベントビューアーは、EVTX形式のファイルを解釈して人間が見やすい表示に変換している。たとえば、イベントビューアーでログをどれか開き、その中のレコードを選択すると、下の「全般」タブにメッセージが表示されているが、ログ自体には、こうしたテキスト情報は含まれていない。
これは、ログに記録された情報をイベントビューアーが解釈し、数値で表現されたログ内容をテキスト表現しているだけである。具体的な記録内容は不明だが、イベントビューアーの下のペインで「詳細」タブを開き、「XMLで表示」を選ぶと、記録されている情報に近いものが表示される。
|
---|
XMLで表示させると生に近い情報が見られる |
ここに表示される情報は、おそらくEVTX形式の中に記録されているものに近いと考えられる。これを見ると、たとえば上のログのリストで「ソース」として表示されているのはXMLデータの中の“Provider Name”の一部を切り出したものだし、「日付と時刻」は、“TimeCreated”をローカル時間(XMLではGMTが指定されている)に変換したものである(このあたりあは次回、PowerShellでログを扱うときに別途詳しく解説する)。
また、ソースやイベントの種類により、後半の“<EventData>”の部分は異なっており、レコードは固定長ではなく、さまざまなデータを保持できるようになっているようだ。
ただし、EVTXは、XMLで表現できるが、ファイルの中を見ると、XML形式ではなくバイナリ形式になっている。おそらくは、ファイルスペースを節約するために圧縮などがなされているのだと思われる。とはいえマイクロソフト標準の16bit文字コードもあるようなので、XMLのタグをバイナリ表現したような形式ではないかと思われる。
この連載の記事
- 第201回 完成が近づいてきたWindows 10 20H1とともに、Windows Insider Programも変わる
- 第200回 正式版に向け仕様が固まりつつある新コンソール「Windows Terminal」
- 第199回 Windows Subsystem for Linux 2のメモリ管理を詳しく見る
- 第198回 Windows 10の秋のアップデートは数分で終わる! 「November 2019 Update」はこっそり忍び寄っていた
- 第197回 Chromeと同じエンジンのEdge、正式版の来年1月配信を前に開発版の機能を見る
- 第196回 開発が進むWindows 10用ユーティリティ「PowerToys」 その機能をチェック
- 第195回 さらに開発が進む新コンソール「Windows Terminal」
- 第194回 変更点はそれほど多くないWindows 10の秋アップデートが完成
- 第193回 Windows Subsystem for Linux 2のNTFSソフトリンク対応
- 第192回 スリープ中に見えてもスマホのようにアプリが動作するWindows 10の「モダンスタンバイ」
- この連載の一覧へ