イベント ログ ファイルの形式
2013/06/07 コメントを残す
Windows Vista 以降のイベント ログは、拡張子 .evtx という新しいフォーマットになりました。
この変更により、従来のイベント ログ拡張子 .evt 形式の互換性ですが、保存はできず、読み込みだけが可能です。
ただし、WMI の API である BackupEventLog() をプログラムで実装することで、拡張子 .evt で保存することができます。
ここで拡張子 .evt について、一つ注意事項があります。
.evt 形式ですが、従来のイベントログ形式 (.evt) と Windows Vista 以降で API BackupEventLog() で作成した .evt は
同じ拡張子でも、フォーマット形式が異なります。
- 旧イベントログ フォーマット形式 (拡張子 .evt)
Windows Server 2003 までの OS で使用していたイベントログ フォーマット形式 - レガシー イベントログ フォーマット形式 (拡張子 .evt)
Windows Vista 以降の OS で BackupEventLog() を使い、出力したイベントログ フォーマット形式
このイベントログは、Windows Server 2003 までの OS では正しく読み込めないので、
Windows Vista 以降の OS で読み込む必要がある - 新イベントログ フォーマット形式 (拡張子 .evtx)
Windows Vista 以降の OS で採用されているイベントログ フォーマット形式
同じ拡張子で、フォーマットが異なるのは悩ましいところです。
なお、拡張子 .evt のフォーマットを .evtx に変換するには、イベントビューアーで .evt を開いて、.evtx で保存するか
wevtuil.exe というコマンドラインツールを使う方法があります。
例えば、wevtuil.exe を使うなら
wevtutil epl application.evt app_new.evtx /lf:true
という具合です。
なお、新イベントログ フォーマット形式 (拡張子 .evtx) を操作するには、新しい API セットがありますので
こちらを使うようにしましょう。
- Windows Event Log Functions
http://msdn.microsoft.com/en-us/library/windows/desktop/aa385784.aspx
イベントログは奥が非常に深いです。