循環トレース
このサンプルでは、循環バッファ トレース リスナの実装を示します。製品版サービスの一般的なシナリオは、長期間使用できるサービスを持つことと、トレース ログを低レベルで有効にすることです。こうしたサービスは、大量のディスク領域を消費します。サービスのトラブルシューティングを行う場合、問題の解決に関連するのはトレース ログの最新データです。このサンプルで示す循環バッファ トレース リスナの実装では、設定可能なデータ量を上限とする最新のトレースのみがディスク上に保持されます。このサンプルは「入門サンプル」に基づいており、カスタム トレース リスナを含んでいます。
メモ : |
---|
このサンプルのセットアップ手順とビルド手順については、このトピックの最後を参照してください。 |
このサンプルでは、「トレースとメッセージ ログ」サンプルを理解し、「トレースとメッセージ ログ」サンプルで取り上げられているドキュメントを読んでいることを前提にしています。
循環バッファ トレース リスナ
循環バッファ トレース リスナの実装の概念とは、2 つのファイルを使って、必要なトレース ログ データの全体量の半分を上限としたデータをそれぞれに保存することです。リスナは 1 つのファイルを作成して、データ サイズの半分という限界に到達するまでデータを書き込みます。この限界に到達した時点で、2 番目のファイルに切り替わります。2 番目のファイルの限界に到達したら、リスナは最初のファイルを新しいトレースで上書きします。
このリスナは XmlWriteTraceListener から派生し、ログをService Trace Viewer Tool (SvcTraceViewer.exe) で表示できるようにします。ログの表示を試みる際に、サービス トレース ビューア ツールで 2 つのログ ファイルを両方同時に開くと、これらのファイルを簡単に再結合することができます。サービス トレース ビューア ツールは、トレースが正しい順序で表示されるように自動的にトレースの並べ替えを管理します。
構成
サービスは、リスナとソースの要素に対して次のコードを追加することによって、循環バッファ トレース リスナを使用するように構成できます。ファイルの最大サイズは、循環トレース リスナの構成の maxFileSizeKB 属性を設定することによって指定します。このコードを次に示します。
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information,ActivityTracing" propagateActivity="true">
<listeners>
<add name="CircularTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="CircularTraceListener" type="Microsoft.ServiceModel.Samples.CircularTraceListener,CircularTraceListener"
initializeData="c:\logs\CircularTracing-service.svclog" maxFileSizeKB="100" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
サンプルを設定、ビルド、および実行するには
「Windows Communication Foundation サンプルの 1 回限りのセットアップの手順」が実行済みであることを確認します。
ソリューションの C# 版または Visual Basic .NET 版をビルドするには、「Windows Communication Foundation サンプルのビルド」の手順に従います。
単一コンピュータ構成か複数コンピュータ構成かに応じて、「Windows Communication Foundation サンプルの実行」の手順に従います。
Copyright © 2007 by Microsoft Corporation.All rights reserved.