6

一部が.net、c++ユーザーモード、およびC++ドライバーにあるアプリケーションがあります。アプリケーションは、オンデマンドで実行されるいくつかの実行可能ファイルに分割され、LPC (プロセスは異なるセッション (winlogon) で実行されます) を使用して相互に通信します。

現在、.net および c++ ユーザーモードが LPC メッセージを送信することによって通信する、自作のログ サービスがあります。ドライバーは DbgPrint を使用しますが、コードの実行が 30% 遅くなるため、常に有効になっているとは限りません (大量のログが記録されています)。

すべてのログを 1 か所に書き込み、できればロガーを自分で作成したくありません (log4cpp と log4net が大好きです)。要件は、すべての実行可能ファイルとドライバーを 1 つの場所に書き込み、オーバーヘッドを最小限に抑えることです。

私はETWが道のりであることを読みましたが、log4cppやlog4netのようにそれを使用するすでに書かれたロガーを見つけることができませんでした.

基本的に私の質問は、私が使用できるlog4cppとlog4netのETWアペンダーがすでに実装されているかどうか知っていますか?

4

3 に答える 3

1

EventProviderTraceListenerクラスを参照してください。

于 2010-03-19T01:37:51.660 に答える
1

ETW .NET の実装例を次に示します。これは log4net の ETW ではありません。お役に立てれば。

http://naveensrinivasan.com/2010/03/17/using-clr-4-0-event-tracing-for-windows-etw-along-with-application-etw/

于 2010-03-19T01:35:09.607 に答える