WCF跟踪日志记录似乎无法在我的某个wcf
Windows服务中运行.我在其他服务中使用了相同的配置,它在过去一直有用.我在这一点上很难过.这是我的配置:
<?xml version="1.0"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup> <system.diagnostics> <sources> <source name="System.ServiceModel.MessageLogging" switchValue="Information,ActivityTracing"> <listeners> <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\ProgramData\Bastian Software\Logs\ExactaManifest\Messages.svclog" /> </listeners> </source> <source name="System.ServiceModel" switchValue="Information,ActivityTracing"> <listeners> <add name="traceListener" type="System.Diagnostics.XmlWriterTraceListener" initializeData="C:\ProgramData\Bastian Software\Logs\ExactaManifest\WCF.svclog" /> </listeners> </source> </sources> <trace autoflush="true" /> </system.diagnostics> <system.serviceModel> <diagnostics performanceCounters="All"> <messageLogging logMessagesAtTransportLevel="true" logMessagesAtServiceLevel="false" logMalformedMessages="true" logEntireMessage="true" maxSizeOfMessageToLog="2147483647" maxMessagesToLog="25000" /> </diagnostics> </system.serviceModel> </configuration>
它似乎不是权限问题,因为我手动创建了与运行该服务的用户相同的文件夹和文件.此外,我在与此wcf跟踪日志记录相关的事件查看器中看到以下内容:
有什么建议?
解决方法
只有先前配置中指定的目录存在,才会创建日志文件.它不仅仅是创建日志文件的权限.请参阅
MSDN article的本注释部分:
Trace files are not created without initially creating the log directory. Make sure that the directory C:\logs\ exists,or specify an alternate logging directory in the listener configuration.