私がドキュメンテーションで見た限りでは、それは特に 1 つの目的のために意図されたものではありません。イベントをトレースするための独自のロジックに結び付けることができると思います。ShouldTrace()
メソッド onはSourceFilter
一致するid
パラメーターを受け取るため、それを使用して、どのイベントまたはイベントの種類がどこに行くかを判断することもできます。
個人的には、TraceSource
イベントの種類やカテゴリを追跡するために使用しています (最近発見したばかりなので、確かにそれほど多くはありません)。あるアプリケーションでは、別のロギング メソッドで使用していたイベント タイプの列挙型が既にあり、値は Debug、Info、Warn、Error、Fatal でした。そのため、それを にキャストしint
て として使用しましたid
。これは、後でフィルタリングするのに役立ちました。トレースを整理するために、関心のあるレベルより下のものを除外できます。
もう 1 つの可能性は、アプリケーションのさまざまな部分に関連するさまざまな値を使用できることです。つまり、データ アクセス = 1、ユーザー アカウント = 2、製品ロジック = 3、通知 = 4、UI = 5 などです。ここでも、これを使用できます。トレースをフィルタリングして、見ているもののタイプのみに絞り込みます。
または、(提案したように) 異なるid
値を使用して異なるイベント タイプを意味することもできます。そのため、エラー コードのように使用して、(たとえば) id
26 を見たときはいつでも、データベース接続ができなかったことがわかります。確立された、または何でも。
id
次の条件を満たしている限り、パラメーターを何に使用するかは特に問題ではありません。
- プログラムのビルドとデバッグに役立ちます
- コードを読んでいるプログラマーにとって明確で理解しやすい
- プログラム全体で一貫して使用されます
1 つの可能性は、イベントid
s を管理し、何らかの入力に基づいて値を提供する集中クラスを作成して、アプリケーション全体id
が同じものを同じものに使用するようにすることです。