我有一个名为HelloService的简单WCF服务库,它托管在WCF服务应用程序中。
我的服务托管在远程IIS服务器中。以下是我的日志记录服务配置。
<system.diagnostics>
<sources>
<source propagateActivity="true" name="System.ServiceModel" switchValue="Error,ActivityTracing">
<listeners>
<add name="xml">
<filter type="" />
</add>
</listeners>
</source>
<source name="System.ServiceModel.MessageLogging" switchValue="Error">
<listeners>
<add name="xml">
<filter type="" />
</add>
</listeners>
</source>
<source name="myUserTraceSource" switchValue="Error,ActivityTracing">
<listeners>
<add name="xml">
<filter type="" />
</add>
</listeners>
</source>
</sources>
<sharedListeners>
<add initializeData="D:\HelloService\HelloServiceLogs.svclog"
type="System.Diagnostics.XmlWriterTraceListener" name="xml"
traceOutputOptions="Timestamp">
<filter type="" />
</add>
</sharedListeners></system.diagnostics>
我的问题是。
1)为什么会生成这么多日志文件?如何在一个名为。
的文件中写入所有日志2)我怎样才能记录所有未处理的异常?
答案 0 :(得分:0)
1)您可以使用以下配置配置消息大小:
<system.serviceModel>
<diagnostics>
<messageLogging
logEntireMessage="true"
logMalformedMessages="false"
logMessagesAtServiceLevel="true"
logMessagesAtTransportLevel="false"
maxMessagesToLog="3000"
maxSizeOfMessageToLog="2000"/>
</diagnostics>
</system.serviceModel>
在此处阅读更多内容:https://msdn.microsoft.com/en-us/library/ms730064%28v=vs.110%29.aspx
2)您可以设置日志记录级别,如下所示(仅在以下示例中出现错误):
<source propagateActivity="false" name="System.ServiceModel" switchValue="Error">
希望它有所帮助。