WCF 日志记录生成多个 svc 文件
WCF logging producing multiple svc file
我有一个名为 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) 如何只记录所有未处理的异常?
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">
希望对您有所帮助。
我有一个名为 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) 如何只记录所有未处理的异常?
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">
希望对您有所帮助。