有没有办法通过修改和重新加载 app.config 来动态启用/禁用 wcf 日志记录?我希望能够在我的应用程序中切换它以促进场景设计(以及相关消息的记录),以便稍后在负载测试中使用它们。
我之前读过,如果修改了 web.config,IIS 必须重新加载应用程序池,但我的项目没有,wcf 层已完全编码,并且在 app.config 中启用了 WCF 日志记录,使用可用的标准片段在 MSDN 上:
<system.diagnostics >
<sources>
<source
name="System.ServiceModel.MessageLogging"
switchValue="Information, ActivityTracing" >
<listeners>
<add name="yourTrace"
type="System.Diagnostics.XmlWriterTraceListener"
initializeData="C:\Users\rfr\Desktop\Logs\YourMessageLog.svclog">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<trace autoflush="true" />
</system.diagnostics>
<system.serviceModel>
<diagnostics>
<messageLogging
logMessagesAtTransportLevel="false"
logMessagesAtServiceLevel="true"
logMalformedMessages="true"
logEntireMessage="true"
maxSizeOfMessageToLog="65535000" maxMessagesToLog="5000" />
</diagnostics>
</system.serviceModel>
我猜将诊断键更改为 false 会关闭日志记录。这里的任何人都知道如何正确地做到这一点?