質問

XMLデータをWindowsイベントログに書き込むにはどうすればよいですか

XMLをWindowsイベントログに挿入する方法があることに気付きました(説明にXMLを挿入するだけではありません)。その結果、Windows Vistaの General ビューに説明メッセージだけが表示されます。 XMLデータは、 Details ビューで確認できます。

Friendly ラジオボタンを選択すると、 Event Data ノードの下に表示されます。 XMLビューを選択すると、XMLが表示されます。

EventLog.WriteEntry()メソッドのrawDataバイト配列により、これが可能になると考えました。 XMLWriterの出力を詰め込んでみました。これにより、データがイベントログに記録されますが、XMLではなくバイナリとして表示されます。

役に立ちましたか?

解決

誤解しない限り、xmlをCrimson / Vistaイベントログに書き込むために、適切なチャネルとイベントを提供するマニフェストを作成して登録します。次に、 WindowsSDKのメッセージコンパイラ(mc.exe)

C#からログを記録する場合は、マネージプロバイダーを作成して、イベントログAPIをラップします。 APIにアクセスするにはPInvokeを使用する必要があるため、これは少し難しくなります。

このプロセス全体を行う方法に関するブログ投稿がありますこちら

他のヒント

にサンプルがあります。 Windows SDK(バージョン6.1)はEventProviderと呼ばれます。
新しいイベントログAPI(深紅)を使用するC#プロバイダー(Vista以降が必要)。
このサンプルは、カスタムデータを追加する方法を示しています(他の量)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top