misc.log

日常茶飯事とお仕事と

EventLogAppenderの定義とレジストリエントリ作成のタイミング

いまだにハマってます。EventLogAppender。
レジストリにエントリが作成されることから、そこも監視しながら動作を確認していたのだが、どうも不可解な挙動をする。Application(アプリケーションログ)には登録していないはずのソースが、なぜか勝手に登録されてしまい、その後の挙動を狂わせたり...
よく見てみると、log4netの設定ファイルに、使わなくても定義が存在すると、設定ファイルを読み込ませた時点でエントリが作成されているようだ。勝手に登録されるのも、実際には利用していないAppenderの宣言を元に、log4netが自動的にログの設定を行っているようだ。実際にソースを追ったわけではないが、どうもそういう動きをしている。

っていうか上記の件嘘かも。

一度まともにイベントログの仕組みについて学ばないと、中途半端な利用は危険であるというのが結論。
とりあえず現在抱えている案件の方は、仕様を変えることに。1つのアプリが3種類のログをかき分け、さらに「ソース」の欄に決まった文字を入れるのはちょいと難しいようなので、ログは基本的にテキストファイルにはくことにした。ただし、エラーの詳細ログについては、監視システムの目に触れる可能性を考慮してイベントログにも併記するという路線。