これらのサービス用のいくつかの.Net WCFサービスがあります。読み取り可能な.svclogファイルに送受信されたメッセージを記録するapp.configファイルを構成しました。 「Service Trace Viewerツール」(SvcTraceViewer.exe)を実行します。このツールは、処理中のSOAPメッセージをログファイルにきれいに表示します。.Netログファイル管理(ローリング)を使用したWCFサービストレースログ
サービストレースビューアツールで処理できる.svclogファイルを正しくフォーマットするには、System.Diagnostics.XmlWriterTraceListenerリスナーを使用する必要があります。
.svclogファイルが大きすぎる&サービストレースビューアツールが応答時間が遅いために使用できなくなるという問題があります。
サービストレースビューアツールでは、ファイルサイズが40MBを超える場合でもログファイルの一部を開くことができますが、これはまだ遅すぎます。 app.configファイルには、.svclogを設定して毎日新しいファイルを自動的に作成する機能や、ファイルが一定のサイズになる機能がないようです。
ログファイルを毎日ロールするlogfilecreationschedule = "Daily"プロパティをサポートするMicrosoft.VisualBasic.Logging.FileLogTraceListenerというテキストログリスナーがありますが、このリスナーからのログファイルは操作サポート担当者にとっては困難ですログエントリとして使用することはうまく表現されず、大きなxmlドキュメントが混乱の原因となります。
この分野のベストプラクティスは、ビルドされたSystem.Diagnosticsのログファイルロール機能が不足していることを考えると、余計なカスタムWCFログ拡張機能を作成する必要があるようです。 XmlWriterTraceListenerログリスナー/アペンダー。
また、アプリケーションを停止してログファイルの名前を変更するスクリプトを試しましたが、Windowsではhandle.exeとopenfileユーティリティがネットワーク共有経由で開かれたファイルを閉じることができないため、これは可能ではないようです誰かがネットワーク共有を介してブラウズしている場合、古いログファイルの名前を変更したり移動したりすることはできません。まもなく別の質問が掲載されます。
ありがとう、 Matt。
それはなんとかですが、あなたは、WCFトレースがすべての時間を有効にしていることになっていません。トラブルシューティングのアプローチとして設計されており、パフォーマンスに影響します。運用環境で無効にするのがベストプラクティスです。 –