4

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

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

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

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

4

2 に答える 2

3

私が間違っていない限り、xml を Crimson/Vista イベント ログに書き込むには、適切なチャネルとイベントを提供するマニフェストを作成して登録する必要があります。次に、WindowsSDK の Message Compiler (mc.exe)を使用してマニフェストをコンパイルする必要があります。

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

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

于 2009-05-06T18:11:09.433 に答える
2

Windows SDK(バージョン6.1)には、EventProviderというサンプルがあります。
新しいイベントログAPI(別名クリムゾン)を使用するC#プロバイダー(Vista以上が機能する必要があります)。
このサンプルは、カスタムデータ(その他の量)を追加する方法を示しています。

于 2009-05-06T18:36:18.157 に答える