【发布时间】:2012-04-23 11:41:38
【问题描述】:
我正在使用 Microsoft 服务配置编辑器来设置诊断(WCF 日志记录),但我找不到任何方法来设置最大文件大小?
我找到了 MaxSizeOfMessageToLog 但对文件大小没有任何作用?
编辑1:据此:http://msdn.microsoft.com/en-us/library/aa395205.aspx 在 sharedListeners 级别应该有一个 maxFileSizeKB,但是在添加标签中点击空间时,我无法输入 maxFileSizeKB?
编辑 2: 添加 maxFileSizeKB 时,服务将不再启动,而是我会得到以下异常:
“maxFileSizeKB”不是“System.Diagnostics.XmlWriterTraceListener”类型的有效配置属性。 说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 异常详细信息:System.Configuration.ConfigurationErrorsException:“maxFileSizeKB”不是“System.Diagnostics.XmlWriterTraceListener”类型的有效配置属性。 源错误: 在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
编辑 3:
我必须下载 Circular TraceListener 示例并将其包含在我的项目中,没有内置的文件大小限制器。
我的配置现在看起来像这样:
<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>
这是限制消息日志文件而不是跟踪日志文件?
【问题讨论】:
-
能否请您包含您的配置部分?
-
顺便说一句 - 这是
CircularTraceListener的代码:cbasetest.svn.codeplex.com/svn/SoftLibrary_Dev/SDFL/Reputation/… -
顺便说一句,您是否曾尝试使用“Microsoft 服务配置编辑器”来执行此任务(“C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\NETFX 4.0 Tools \SvcConfigEditor.exe")
-
maxFileSizeKB是CircularTraceListener类的自定义属性,该类是该 SDK 示例的主题。 -
你当然是对的。我不得不下载 Circular TraceListener 并将该 DLL 包含到我的项目中。我现在已经设置了它,但是当消息保持正确大小时,跟踪文件仍在增长? Se 编辑 3.
标签: c# wcf logging diagnostics