WCF跟踪赢得';不能写入文件吗?
我已在WCF服务中启用跟踪。以下是system.diagnostics部分:WCF跟踪赢得';不能写入文件吗?,wcf,trace,system.diagnostics,Wcf,Trace,System.diagnostics,我已在WCF服务中启用跟踪。以下是system.diagnostics部分: <configuration> <system.diagnostics> <trace autoflush="true"/> <sources> <source name="System.ServiceModel" switchValue="All" propagateActivity="true"> <l
<configuration>
<system.diagnostics>
<trace autoflush="true"/>
<sources>
<source name="System.ServiceModel" switchValue="All" propagateActivity="true">
<listeners>
<add name="xmlTraceListener" />
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="All">
<listeners>
<add name="xmlTraceListener" />
</listeners>
</source>
</sources>
<sharedListeners>
<add name="xmlTraceListener"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\KryptonTracing\Traces.svclog" />
</sharedListeners>
</system.diagnostics>
无济于事。请帮忙 我最终使用WCF配置编辑器将跟踪添加到web.config。它在my web.config中生成了这两个部分
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning,ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelMessageLoggingListener">
<filter type="" />
</add>
</listeners>
</source>
<source propagateActivity="true" name="System.ServiceModel" switchValue="Warning,ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\Tracing\Krypton_Web_messages.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelMessageLoggingListener"
traceOutputOptions="Timestamp">
<filter type="" />
</add>
<add initializeData="C:\Tracing\Krypton_Web_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener"
traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
…这是:
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtTransportLevel="true" />
</diagnostics>
然后,在发布之前,我创建了C:\Tracing文件夹,并添加了具有完全权限的“Everyone”。我终于发布了,现在两个.svclog文件都在这个文件夹里了!!!!不确定为什么我的原始配置一开始不起作用。我最终使用WCF配置编辑器将跟踪添加到web.config。它在my web.config中生成了这两个部分
<configuration>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging" switchValue="Warning,ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelMessageLoggingListener">
<filter type="" />
</add>
</listeners>
</source>
<source propagateActivity="true" name="System.ServiceModel" switchValue="Warning,ActivityTracing">
<listeners>
<add type="System.Diagnostics.DefaultTraceListener" name="Default">
<filter type="" />
</add>
<add name="ServiceModelTraceListener">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="C:\Tracing\Krypton_Web_messages.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelMessageLoggingListener"
traceOutputOptions="Timestamp">
<filter type="" />
</add>
<add initializeData="C:\Tracing\Krypton_Web_tracelog.svclog"
type="System.Diagnostics.XmlWriterTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
name="ServiceModelTraceListener"
traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners>
<trace autoflush="true" />
</system.diagnostics>
…这是:
<diagnostics>
<messageLogging logEntireMessage="true" logMalformedMessages="true"
logMessagesAtTransportLevel="true" />
</diagnostics>
然后,在发布之前,我创建了C:\Tracing文件夹,并添加了具有完全权限的“Everyone”。我终于发布了,现在两个.svclog文件都在这个文件夹里了!!!!不确定我的原始配置为什么一开始就不起作用。有同样的问题,我注意到app.config
gui编辑器正在用西班牙语编写switchValue=“Advertencia,ActivityTracing”
(我使用的VS语言环境)
我把它改成了switchValue=“Warning,ActivityTracing”
,它成功了。现在已创建日志文件。
在线搜索“TraceLevel Enumeration”以查看可用选项。有同样的问题,我注意到app.config
gui编辑器正在用西班牙语编写switchValue=“Advertencia,ActivityTracing”
(我使用的VS语言环境)
我把它改成了switchValue=“Warning,ActivityTracing”
,它成功了。现在已创建日志文件。
联机搜索“TraceLevel枚举”以查看可用选项。为什么您的
位于
下?是打字错误吗?它应该在根标签下
。很抱歉,这是一个打字错误,我已经编辑了这篇文章。WCF服务工作正常吗?也许一个请求永远不会到达WCF来记录。我看不出您的配置有任何问题。是的,服务正在运行。我可以使用客户端来证明请求正在通过,数据库正在更新。我还可以查看IIS日志,看到服务被命中。该服务具有wsHttpBinding和自定义身份验证,但这不应该是一个问题。当您为System.ServiceModel.MessageLogging和System.ServiceModel设置单独的日志文件时,它是否工作?尝试为C:\KryptonTracing文件夹上的所有人设置权限。请确定:)为什么您的
在
下面?是打字错误吗?它应该在根标签下
。很抱歉,这是一个打字错误,我已经编辑了这篇文章。WCF服务工作正常吗?也许一个请求永远不会到达WCF来记录。我看不出您的配置有任何问题。是的,服务正在运行。我可以使用客户端来证明请求正在通过,数据库正在更新。我还可以查看IIS日志,看到服务被命中。该服务具有wsHttpBinding和自定义身份验证,但这不应该是一个问题。当您为System.ServiceModel.MessageLogging和System.ServiceModel设置单独的日志文件时,它是否工作?尝试为C:\KryptonTracing文件夹上的所有人设置权限。只是为了确定:)谢谢你帮了我,我错过了配置的第二部分。对其他人来说,这应该放在标记中谢谢你帮了我,我错过了配置的第二部分。对于其他人来说,这应该放在标签内