私は、Webサービス上でエラーログを実装するためにMicrosoft.ServiceModel.Samples.CircularTracecListenerバイナリを使用しています。c#円形のtraceListenerがファイルをローリングしない
maxFileSizeKBに達するまでファイルに書き込んだ後、2次ファイルに移動する必要があります。 このプロセスは、小さなファイルサイズの制限でテストし、短時間でローリングが発生するとうまく動作します。
奇妙なことは、私がmaxFileSizeKBを設定したとき、次の日に、メイン・ファイルをオーバーライドしてセカンダリをそのままにしていることがわかりました。以下のように設定
web.configファイル:
<system.diagnostics>
<sources>
<source name="System.ServiceModel" switchValue="Information,ActivityTracing" >
<listeners>
<add name="CircularTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="CircularTraceListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
initializeData="c:\log\webserviceLog.xml" maxFileSizeKB="5120" />
</sharedListeners>
<trace autoflush="true" />
誰かが同様の問題に遭遇したことがありますか?
私は、Webサービスを再起動し、最初のファイルから始めることしか考えられません。
アプリケーションプールリサイクルですか?
iisログをチェックすると、ログファイルが消去されるのと同時にアプリケーションプールが呼び出されることがわかります。
確認して、maxFileSizeKBの変更を再起動せずにサービスに更新しています。 – ManuelCh
はい、IISアプリケーションプールをリサイクルすると、メインファイル(webserviceLog00.xml)が上書きされます。 web.configを編集すると、IISアプリケーションはデフォルトで自動的にリサイクルされます。 [アプリケーションプール]> [詳細設定]> [リサイクル]> [設定変更のリサイクルを無効にする]をtrueに設定することで変更できます。 –