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で表示」を選ぶと、記録されている情報に近いものが表示される。
ここに表示される情報は、おそらくEVTX形式の中に記録されているものに近いと考えられる。これを見ると、たとえば上のログのリストで「ソース」として表示されているのはXMLデータの中の“Provider Name”の一部を切り出したものだし、「日付と時刻」は、“TimeCreated”をローカル時間(XMLではGMTが指定されている)に変換したものである(このあたりあは次回、PowerShellでログを扱うときに別途詳しく解説する)。
また、ソースやイベントの種類により、後半の“<EventData>”の部分は異なっており、レコードは固定長ではなく、さまざまなデータを保持できるようになっているようだ。
ただし、EVTXは、XMLで表現できるが、ファイルの中を見ると、XML形式ではなくバイナリ形式になっている。おそらくは、ファイルスペースを節約するために圧縮などがなされているのだと思われる。とはいえマイクロソフト標準の16bit文字コードもあるようなので、XMLのタグをバイナリ表現したような形式ではないかと思われる。

この連載の記事
-
第408回
PC
Windows上でCPUの負荷状態を調べためのいくつかの方法 -
第407回
PC
2025年以降もWindows 10に延長サポートがある可能性!? 対応ハードを絞る真の本命は次期Windows? -
第406回
PC
Windowsにおける言語設定とは -
第405回
PC
WSLプレビューVer.2.0.7でMirroredネットワーク、DNSトンネリングを試す -
第404回
PC
開発者向けに性能が高い、Windowsの「開発ドライブ」を試す -
第403回
PC
WSL Ver.2.0の新機能「自動メモリ回収」を実際に試す -
第402回
PC
プレビュー版が登場したWSLのVer.2.0 新機能を具体的に見る -
第401回
PC
内部的な改良で便利になったWindows Terminal v1.19での新機能を確認 -
第400回
PC
Windowsにおける音声認識など、ボイス機能を整理 -
第399回
PC
Windowsではプロセスからプログラムに関するさまざまな情報が得られる -
第398回
PC
Windows Subsystem for Androidの進化を確認 エクスプローラーからのファイルのドラッグ&ドロップが可に - この連載の一覧へ