いくつかの.NetWCFサービスがあります。これらのサービスについては、「Service Trace ViewerTool」(SvcTraceViewer.exe)で読み取り可能な.svclogファイルで送受信されたメッセージをログに記録するようにapp.configファイルを構成しました。このツールは、処理中のSOAPメッセージを明確に示すログファイルをレンダリングします。
System.Diagnostics.XmlWriterTraceListenerリスナーを使用して、Service TraceViewerToolで処理できるように.svclogファイルを正しくフォーマットする必要があります。
私が抱えている問題は、.svclogファイルが大きくなりすぎて、応答時間が遅いためにService TraceViewerToolが使用できなくなることです。
Service Trace Viewer Toolは、ファイルのサイズが40MBを超える場合にログファイルの一部を開くことができる機能を提供しますが、それでも遅すぎます。app.configファイルには、毎日またはファイルが特定のサイズに達したときに自動的に新しいファイルを作成するように.svclogを構成する機能がないようです。
ログファイルを毎日ロールするlogfilecreationschedule="Daily"プロパティをサポートするMicrosoft.VisualBasic.Logging.FileLogTraceListenerと呼ばれるテキストログリスナーがありますが、このリスナーからの結果のログファイルは、操作サポート担当者がログエントリは適切にレンダリングされず、大きなxmlドキュメントが混乱の原因になります。
この分野のベストプラクティスは、組み込みのSystem.Diagnostics.XmlWriterTraceListenerログリスナーのログファイルロール機能の欠如に対処するためだけにやり過ぎのように見えるカスタムWCFログ拡張機能を作成する必要があるようです。アペンダー。
また、アプリケーションを停止してログファイルの名前を変更するスクリプトを試しましたが、Windowsではhandle.exeおよびopenfileユーティリティがネットワーク共有を介して開かれたファイルを閉じることができないため、名前を変更できないため、これは不可能なようです。 /誰かがネットワーク共有を介して古いログファイルを閲覧している場合は、古いログファイルを移動します。それについてはまもなく別の質問を投稿します。
ありがとう、マット。