DefaultTraceListener クラス
アセンブリ: System (system.dll 内)


![]() |
---|
このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、Synchronization です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。 |
このクラスのインスタンスは、Debug.Listeners コレクションおよび Trace.Listeners コレクションに自動的に追加されます。2 番目の DefaultTraceListener を明示的に追加すると、デバッガの出力ウィンドウに重複するメッセージが表示され、アサート用の重複するメッセージ ボックスが表示されます。
既定では、Write メソッドおよび WriteLine メソッドは、Win32 OutputDebugString 関数と Debugger.Log メソッドにメッセージを出力します。OutputDebugString 関数については、プラットフォーム SDK または MSDN を参照してください。
既定では、Fail メソッドはメッセージ ボックスを表示します (アプリケーションがユーザー インターフェイス モードで実行されているとき)。また、WriteLine を使用してメッセージを出力します。
トレース リスナを使用するには、トレースまたはデバッグを有効にする必要があります。次の構文はコンパイラに固有です。C# または Visual Basic 以外のコンパイラを使用する場合は、使用するコンパイラのドキュメントを参照してください。
-
C# でデバッグを有効にするには、コードのコンパイル時に /d:DEBUG フラグをコンパイラのコマンド ラインに追加するか、#define DEBUG をファイルの最上部に挿入します。Visual Basic では、コンパイラのコマンド ラインに /d:DEBUG=True フラグを追加します。
-
C# でトレースを有効にするには、コードのコンパイル時に /d:TRACE フラグをコンパイラのコマンド ラインに追加するか、#define TRACE をファイルの最上部に挿入します。Visual Basic では、コンパイラのコマンド ラインに /d:TRACE=True フラグを追加します。
トレース リスナを追加するには、アプリケーション名に対応する構成ファイルを編集します。このファイルでは、リスナの追加、その型とパラメータの設定、リスナの削除、アプリケーションで以前設定されたすべてのリスナのクリアを実行できます。構成ファイルの書式は次の例のようになります。

確率統計学で使用される値の二項係数を計算するコード例を次に示します。この例では、DefaultTraceListener を使用して結果をトレースし、エラーのログを記録します。新しい DefaultTraceListener を作成し、Trace.Listeners コレクションに追加し、LogFileName プロパティをコマンド ライン引数で指定されたログ ファイルに設定します。
入力パラメータの処理中にエラーが検出されるか、または CalcBinomial 関数によって例外がスローされた場合、Fail メソッドはエラー メッセージのログを記録し、エラー メッセージを表示します。AssertUiEnabled プロパティが false の場合は、コンソールにエラー メッセージも書き込まれます。結果が正しく計算されると、Write(String) メソッドおよび WriteLine(String) メソッドは結果をログ ファイルに書き込みます。
Fail メソッド、Write メソッド、および WriteLine メソッドは、トレース情報を DefaultTraceListener だけに書き込みます。トレースについての情報を Trace.Listeners コレクションのすべてのリスナに書き込むには、Trace クラスの Fail メソッド、Write メソッド、および WriteLine メソッドを使用します。
Imports System Imports System.Diagnostics Imports Microsoft.VisualBasic Module Binomial ' args(0) is the number of possibilities for binomial coefficients. ' args(1) is the file specification for the trace log file. Sub Main(ByVal args() As String) Dim possibilities As Decimal Dim iter As Decimal ' Remove the original default trace listener. Trace.Listeners.RemoveAt(0) ' Create and add a new default trace listener. Dim defaultListener As DefaultTraceListener defaultListener = New DefaultTraceListener Trace.Listeners.Add(defaultListener) ' Assign the log file specification from the command line, if entered. If args.Length >= 2 Then defaultListener.LogFileName = args(1) End If ' Validate the number of possibilities argument. If args.Length >= 1 Then ' Verify that the argument is a number within the correct range. Try Const MAX_POSSIBILITIES As Decimal = 99 possibilities = Decimal.Parse(args(0)) If possibilities < 0 Or possibilities > MAX_POSSIBILITIES Then Throw New Exception( _ String.Format("The number of possibilities must " & _ "be in the range 0..{0}.", MAX_POSSIBILITIES)) End If Catch ex As Exception Dim failMessage As String = String.Format("""{0}"" " & _ "is not a valid number of possibilities.", args(0)) defaultListener.Fail(failMessage, ex.Message) If Not defaultListener.AssertUiEnabled Then Console.WriteLine(failMessage & vbCrLf & ex.Message) End If Return End Try Else ' Report that the required argument is not present. Const ENTER_PARAM As String = "Enter the number of " & _ "possibilities as a command line argument." defaultListener.Fail(ENTER_PARAM) If Not defaultListener.AssertUiEnabled Then Console.WriteLine(ENTER_PARAM) End If Return End If For iter = 0 To possibilities Dim result As Decimal Dim binomial As String ' Compute the next binomial coefficient and handle all exceptions. Try result = CalcBinomial(possibilities, iter) Catch ex As Exception Dim failMessage As String = String.Format( _ "An exception was raised when " & _ "calculating Binomial( {0}, {1} ).", _ possibilities, iter) defaultListener.Fail(failmessage, ex.Message) If Not defaultListener.AssertUiEnabled Then Console.WriteLine(failMessage & vbCrLf & ex.Message) End If Return End Try ' Format the trace and console output. binomial = String.Format("Binomial( {0}, {1} ) = ", _ possibilities, iter) defaultListener.Write(binomial) defaultListener.WriteLine(result.ToString) Console.WriteLine("{0} {1}", binomial, result) Next End Sub Function CalcBinomial(ByVal possibilities As Decimal, _ ByVal outcomes As Decimal) As Decimal ' Calculate a binomial coefficient, and minimize the chance of overflow. Dim result As Decimal = 1 Dim iter As Decimal For iter = 1 To possibilities - outcomes result *= outcomes + iter result /= iter Next Return result End Function End Module

System.MarshalByRefObject
System.Diagnostics.TraceListener
System.Diagnostics.DefaultTraceListener


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DefaultTraceListener コンストラクタ
アセンブリ: System (system.dll 内)


アプリケーションによって Trace.Listeners コレクションから提供された DefaultTraceListener を削除し、新しい DefaultTraceListener を作成して、Trace.Listeners コレクションに追加するコード例を次に示します。
' Remove the original default trace listener. Trace.Listeners.RemoveAt(0) ' Create and add a new default trace listener. Dim defaultListener As DefaultTraceListener defaultListener = New DefaultTraceListener Trace.Listeners.Add(defaultListener) ' Assign the log file specification from the command line, if entered. If args.Length >= 2 Then defaultListener.LogFileName = args(1) End If

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


DefaultTraceListener プロパティ

名前 | 説明 | |
---|---|---|
![]() | AssertUiEnabled | アプリケーションがユーザー インターフェイス モードで実行されているかどうかを示す値を取得または設定します。 |
![]() | Attributes | アプリケーション構成ファイルに定義されているカスタム トレース リスナ属性を取得します。 ( TraceListener から継承されます。) |
![]() | Filter | トレース リスナのトレース フィルタを取得および設定します。 ( TraceListener から継承されます。) |
![]() | IndentLevel | インデントのレベルを取得または設定します。 ( TraceListener から継承されます。) |
![]() | IndentSize | 1 つのインデントに含まれる空白の数を取得または設定します。 ( TraceListener から継承されます。) |
![]() | IsThreadSafe | トレース リスナがスレッド セーフかどうかを示す値を取得します。 ( TraceListener から継承されます。) |
![]() | Name | この TraceListener の名前を取得または設定します。 ( TraceListener から継承されます。) |
![]() | TraceOutputOptions | トレース出力オプションを取得または設定します。 ( TraceListener から継承されます。) |


DefaultTraceListener メソッド


名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 TraceListener によって使用されているリソースを解放します。 ( TraceListener から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | GetSupportedAttributes | トレース リスナによってサポートされるカスタム属性を取得します。 ( TraceListener から継承されます。) |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
![]() | WriteIndent | このクラスの実装時に作成したリスナにインデントを書き込み、NeedIndent プロパティを false にリセットします。 ( TraceListener から継承されます。) |

DefaultTraceListener メンバ
DefaultTraceListener データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | DefaultTraceListener | "Default" を Name プロパティ値として使用して、DefaultTraceListener クラスの新しいインスタンスを初期化します。 |

名前 | 説明 | |
---|---|---|
![]() | AssertUiEnabled | アプリケーションがユーザー インターフェイス モードで実行されているかどうかを示す値を取得または設定します。 |
![]() | Attributes | アプリケーション構成ファイルに定義されているカスタム トレース リスナ属性を取得します。(TraceListener から継承されます。) |
![]() | Filter | トレース リスナのトレース フィルタを取得および設定します。(TraceListener から継承されます。) |
![]() | IndentLevel | インデントのレベルを取得または設定します。(TraceListener から継承されます。) |
![]() | IndentSize | 1 つのインデントに含まれる空白の数を取得または設定します。(TraceListener から継承されます。) |
![]() | IsThreadSafe | トレース リスナがスレッド セーフかどうかを示す値を取得します。 (TraceListener から継承されます。) |
![]() | Name | この TraceListener の名前を取得または設定します。(TraceListener から継承されます。) |
![]() | TraceOutputOptions | トレース出力オプションを取得または設定します。(TraceListener から継承されます。) |



名前 | 説明 | |
---|---|---|
![]() | Dispose | オーバーロードされます。 TraceListener によって使用されているリソースを解放します。 (TraceListener から継承されます。) |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | GetSupportedAttributes | トレース リスナによってサポートされるカスタム属性を取得します。 (TraceListener から継承されます。) |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
![]() | WriteIndent | このクラスの実装時に作成したリスナにインデントを書き込み、NeedIndent プロパティを false にリセットします。 (TraceListener から継承されます。) |

- DefaultTraceListenerのページへのリンク