質問

したがって、ここでは明らかなことを見逃しているかもしれませんが、実際には、 TraceSwitch そして SourceSwitch クラス?

どちらも同じ概要説明を提供します。

コードを再コンパイルせずにトレースとデバッグ出力を制御するためのマルチレベル スイッチを提供します。

備考欄が妙に私の目に似ている気がします。誰かが機能と使用例の違いを明確にしてもらえますか?

(完全を期すために、私はスイッチを使用しています TraceSource 古い静的ではなくオブジェクト Trace クラスですが、それが大きな違いを生むとは思えません。)

役に立ちましたか?

解決

違いはそれです TraceSwitch で動作します Trace メッセージがあります SourceSwitch で動作します TraceSource メッセージをソースに関連付けるメッセージ。だから SourceSwitch トレースメッセージがどこから来たのかに基づいて、リスナーを構成できます。

ドキュメントが違いを直接指摘していないことに同意しますが、関連するものを掘り下げてください TraceSource クラスのドキュメントとあなたはこれを見つける:

TraceSource クラスは、ソースの名前、通常はアプリケーションの名前によって識別されます。特定のコンポーネントからのトレースメッセージは、特定のトレースソースによって開始され、そのコンポーネントから来るすべてのメッセージを簡単に識別できるようにします。

また、構成する方法を示すサンプルもあります SourceSwitch トレースソースからトレースをオフにする。

他のヒント

(古い) TraceSwitch は基本的に、静的 Trace クラスと組み合わせて使用​​される TraceLevel オブジェクトです。

(新しい) TraceSource は、TraceLevel の概念と実際の出力メソッドを組み合わせたものです。

その結果、大規模なアプリでは、複数の TraceSwitches を使用してプログラムのさまざまな部分 (GUI、DAL) の Trace 設定を構成できますが、すべての出力は同じ TraceListener に送信されます。

TraceSource を使用すると、独立した出力チャネルを持つことができます。そして少し優れた API です。

TracelevelとSaurcelevelの違いのこの説明は、次のように役立つかもしれません。

System.Dianostics Hidden Sourcelevels

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