2

.net 4.5 で ETW を使用しようとしています。

WCF サービスとコンソール アプリがあり、EventSource を使用してメッセージを書き込む必要がありますが、ファイル (ローリング ファイル) にログを記録するための独自の ETW (EventSource と EventListener) を作成する方法を理解するのに苦労しています。

助言がありますか?

4

2 に答える 2

4

magicandre1981 の回答に加えて、次を追加する必要があります。

TraceEventSession _session  = new TraceEventSession(
    "yourSessionName", @"C:\yourLogFile.etl")
{ 
    CircularBufferMB = 100 //100mb rolling log file
};
_session.EnableProvider(TraceEventProviders.GetEventSourceGuidFromName(
    "Samples-EventSourceDemos-EventLog"), TraceEventLevel.Always);

これは、ログを記録しているのと同じアプリケーション (イン プロセス) または完全に別のアプリケーション (アウト プロセス) にある可能性があります。

于 2014-08-27T11:00:39.283 に答える
2

Microsoft EventSource ライブラリの Nuget パッケージをインストールする

Install-Package Microsoft.Diagnostics.Tracing.EventSource -Pre 

EventSource から派生したクラスでイベントを定義します。

EventSourceDemo

ここで、Semantic Logging Application Blockを使用してEnterprise Libraryイベントを消費します。

使用方法のビデオは次のとおりです。

セマンティック ロギングの紹介

http://channel9.msdn.com/posts/Introducing-Semantic-Logging

于 2013-08-14T17:50:57.360 に答える