webservice에서 오류 로깅을 구현하기 위해 Microsoft.ServiceModel.Samples.CircularTracecListener 바이너리를 사용하고 있습니다.C# 원형 트레이스 리스너가 파일을 롤백하지 않습니다.
maxFileSizeKB에 도달 할 때까지 파일에 쓰고 보조 파일로 롤백해야합니다. 이 프로세스는 낮은 파일 크기 제한으로 테스트하고 롤링이 짧은 시간에 발생할 때 잘 작동합니다.
이상한 점은 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" />
누군가가 유사한 문제가 발생 했습니까?
저는 웹 서비스를 재부팅하고 첫 번째 파일로 시작하는 것으로 생각할 수 있습니다.
응용 프로그램 풀 재활용 수 있습니까?
iis 로그를 검사 할 때 내 로그 파일이 지워지는 동시에 응용 프로그램 풀이 recicle된다는 것을 알 수 있습니다.
maxFileSizeKB의 내용을 확인하고 다시 시작하지 않고 서비스를 업데이트하고 있습니다. – ManuelCh
예, IIS 응용 프로그램 풀이 재활용되면 주 파일 (webserviceLog00.xml)을 덮어 씁니다. web.config를 편집하면 기본적으로 IIS 응용 프로그램이 자동으로 재활용됩니다. "응용 프로그램 풀> 고급 설정 ...> 재사용> 구성 변경에 대한 재활용 비활성화"를 true로 설정하여 변경할 수 있습니다. –