gpt4 book ai didi

c# Circular traceListener 不滚动文件

转载 作者:行者123 更新时间:2023-11-30 23:08:49 25 4
gpt4 key购买 nike

我正在使用 Microsoft.ServiceModel.Samples.CircularTracecListener 二进制文件来实现 Web 服务上的错误日志记录。

它应该写入一个文件,直到达到 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 日志时,我发现应用程序池大约在我的日志文件被删除的同时被回收。

最佳答案

Microsoft.ServiceModel.Samples.CircularTraceListener 代码示例读取一次 maxFileSizeKB 设置。为了使对该设置的更改生效,您必须重新启动托管过程。

编辑:

当您编辑 web.config 时,IIS 应用程序池将默认自动回收。

如果您的 IIS 应用程序池被回收,它将覆盖主文件 (webserviceLog00.xml)。

您可以将“Application Pool > Advanced Settings... > Recycling > Disable Recycling for Configuration Changes”设置为 true 以防止应用程序池重新启动。

关于c# Circular traceListener 不滚动文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46284384/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com