EventRedirectorは,テキスト型式のログファイルを定期監視し, 追記された内容をWindows イベントログに転記するプログラムです。
NT以降の Windows では,ログ機構としてイベントログ(Event Log)が 用意されています。
イベントログの特徴(利点)として,以下のようなものが挙げられます。
- Windows に標準実装されており,別途プログラム追加が不要である。
- 参照プログラム(イベントビューア)が標準で用意されている。
- ネットワーク上の他PCのイベントログを参照可能である。
- 最大サイズ・保存期間を設定するログファイルの自動管理(削除)機能がある。
このように,OS標準の機構としては十分な機能を持ったログ管理システム と言えるイベントログですが,アプリケーションログを記録するためには, アプリケーション自身が必要な処理を実装していなければなりません。
一方で現在流通しているサーバアプリケーションには,独自のファイルログ を出力するものも少なくありません。特にUnixから移植されたもの,あるいは Unix系OSを含む複数OSで稼働するアプリケーションは,ほとんどがこの形式の ログを出力します。一般的なところでは,Oracle,MySQLなどのデータベースや, Apache, Tomcat などが該当します。
このようなファイル形式ログを出力するアプリケーションに対して,出力される ログファイルを常時監視し,指定された内容(エラー行など)が記録された場合に その内容をイベントログへ転記するプログラムが,今回作成したEventRedirector です。これにより,サーバ稼働管理上の監視対象ログをイベントログのみにするのが, このプログラムの目的です。
EventRedirector(イベントリダイレクタ)は,次のような機能で構成されています。
- ログファイル監視
- ログファイルの追記状況を監視します。
指定されたログファイルに対する追記処理を監視します。監視対象とする ログファイル名はパターン(ワイルドカード)指定が可能です。
ファイルへの追記により内部的にイベントが発行され,次項のログ抽出処理を 実行します。 - ログ抽出
- ログファイルから指定されたパターンにマッチする行を抽出します。 パターンマッチには語句指定の他,正規表現による指定も可能です。
- イベントログ転記
- 抽出したログ内容をイベントログへ転記します。
監視アプリケーション単位で定義するカスタムログを出力先とします。
ログ種別などは,抽出パターン単位で指定しておきます。