我有一个集成测试项目,我在使用外部WCF服务的类上运行测试
在MyApp.IntegrationTests
中,我有一个app.config
文件,如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
</connectionStrings>
<appSettings>
</appSettings>
<system.serviceModel>
<bindings>
-- ommitted for brevity
</bindings>
<client>
<endpoint name="IWhatever"
address="https://url.com/Whatever.svc"
binding="basicHttpBinding"
bindingConfiguration="basicHttpsBindingConfiguration"
contract="IWhatever" />
</client>
</system.serviceModel>
<system.diagnostics>
<sources>
<source name="System.ServiceModel.MessageLogging">
<listeners>
<add initializeData="soap-log.xml" type="System.Diagnostics.XmlWriterTraceListener"
name="messages" />
</listeners>
</source>
</sources>
</system.diagnostics>
</configuration>
如您所见,我正在尝试将来电记录到soap-log.xml
如果我运行测试,则不会创建任何日志文件。
让我感到困惑的是,如果我的实际网络应用程序项目中有system.diagnostics
块,则会创建xml日志文件。
答案 0 :(得分:1)
似乎你错过了messageLogging
元素。 MSDN链接。
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="true"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="20000"/>
</diagnostics>
</system.serviceModel>