为了减少wcf项目的svc日志文件大小,我进行了一项研究,发现了“ CircularTracing”库,它是Microsoft创建的模板。在their documentation中,他们添加了跟踪记录的示例,但是在我的情况下,我需要进行消息记录以检查开发人员填写的输入;我试图单独启用跟踪->成功运行,并生成了2个日志文件;我尝试仅启用消息日志记录,但也成功运行;
但是,当我试图使它们一起工作时->他的库没有生成2个web_Trace文件日志,仅生成了web_Trace00.cvclog,其大小可以超过最大大小;除此之外,该库还生成了2个消息日志文件,但没有考虑最大文件大小;
下面是我的web.config代码:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing" >
<listeners>
<add name="CircularMessageListener" />
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
<listeners>
<add name="CircularTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="CircularMessageListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener, CircularTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
initializeData="C:\inetpub\wwwroot\MyProject\Log\web_messages.svclog" maxFileSizeKB="20" />
<add name="CircularTraceListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener, CircularTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
initializeData="C:\inetpub\wwwroot\MyProject\Log\web_Trace.svclog" maxFileSizeKB="20" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
有任何提示吗?
答案 0 :(得分:0)
我发现对于消息日志文件:某些消息的长度大于20 KB,这就是为什么消息日志文件大于20的原因,之后另一个文件按预期记录了数据; 关于跟踪日志文件:我不知道为什么不创建另一个文件,我很高兴有人能帮助我发现问题...但是最终我还是将两个日志文件都使用了一个文件:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing" >
<listeners>
<add name="CircularMessageTraceListener" />
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning, ActivityTracing" propagateActivity="true">
<listeners>
<add name="CircularMessageTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="CircularMessageTraceListener" type="Microsoft.Samples.ServiceModel.CircularTraceListener, CircularTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
initializeData="C:\inetpub\wwwroot\MyProject\Log\web_messages_trace.svclog" maxFileSizeKB="20" />
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
通过这种方式,我可以生成2个web_messages_trace生成的日志文件,希望这对任何人都可以帮助;