我使用Microsoft服务配置编辑器来设置诊断(WCF日志记录),我找不到设置最大文件大小的方法吗?
我找到了MaxSizeOfMessageToLog但是对文件大小没有任何作用?
编辑1:根据:http://msdn.microsoft.com/en-us/library/aa395205.aspx 在sharedListeners级别应该有一个maxFileSizeKB,但是当在add标签中访问空格时,我无法输入maxFileSizeKB?
编辑2:当添加maxFileSizeKB时,serivce将不再启动,而是我将获得以下优惠:
'maxFileSizeKB'不是类型'System.Diagnostics.XmlWriterTraceListener'的有效配置属性。 描述:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.Configuration.ConfigurationErrorsException:'maxFileSizeKB'不是类型'System.Diagnostics.XmlWriterTraceListener'的有效配置属性。 来源错误: 在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常的起源和位置的信息。
编辑3:
我必须下载循环TraceListener示例并将其包含在我的项目中,没有内置的fileSize限制器。
我的配置现在看起来像这样:
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning, ActivityTracing">
<listeners>
<add name="ServiceModelMessageLoggingListener"/>
</listeners>
</source>
<source name="System.ServiceModel" switchValue="Warning,ActivityTracing"
propagateActivity="false">
<listeners>
<add name="ServiceModelTraceListener"/>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\My\MyRelease 0.31\Host\My.Host.Dev\web_messages.svclog"
type="Microsoft.Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
name="ServiceModelMessageLoggingListener" traceOutputOptions="Timestamp" maxFileSizeKB="1024">
<filter type="" />
</add>
<add initializeData="C:\My\MyRelease 0.31\Host\My.Host.Dev\web_tracelog.svclog"
type="Microsoft.Samples.ServiceModel.CircularTraceListener,CircularTraceListener"
name="ServiceModelTraceListener" traceOutputOptions="Timestamp" maxFileSizeKB="1024">
<filter type="" />
</add>
</sharedListeners>
这是限制消息日志文件而不是跟踪日志文件?
答案 0 :(得分:12)
这是因为您提供的链接使用自定义跟踪侦听器(“Microsoft.ServiceModel.Samples.CircularTraceListener”),它具有“maxFileSizeKB”属性。
没有内置函数来限制/滚动svclog文件,因此您确实需要使用自定义跟踪侦听器。 您可以使用链接中使用的示例(请阅读文章末尾如何下载代码)。或者这里another one可以是有用的。
答案 1 :(得分:7)
只想添加@Fabske答案,以便其工作
1)下载WCF样本: http://go.microsoft.com/fwlink/?LinkId=150780
2)打开 :\ WF_WCF_Samples \ WCF \基本\管理\ CircularTracing
3)构建解决方案并获取CircularTraceListener.dll
4)将该dll添加到项目参考
5)更新您的配置,如http://msdn.microsoft.com/en-us/library/aa395205(v=vs.100).aspx
所示