标签: svctraceviewer

Windows 2008 Enterprise Server中的svctraceviewer exe

我有一个在Windows 2008 Enterprise Server上运行的WCF服务.我刚刚在服务的App.config中启用了跟踪.我一直在尝试在服务器上找到svctraceviewer.exe,但我无法做到.

我试图谷歌,他们说它将在C:\ Program Files\Microsoft SDKs\Windows\v6.1\Bin\SvcTraceViewer.exe.但我在Windows 2008服务器中没有此文件夹.我在C:\ Windows\Microsoft.NET中看到了所有版本的.Net Framework

在Advance中感谢您的帮助.

.net windows-server-2008-r2 svctraceviewer

6
推荐指数
2
解决办法
8170
查看次数

使用log4net创建可以使用SvcTraceViewer.exe查看的日志文件

使用具有正确格式的log4net(正确的XML,正确的时间戳格式,正确格式的自定义数据,正确的属性,基本上与XmlWriterTraceListener完全相同的方式)登录文件的最佳方法是什么?因此可以在该服务跟踪查看工具(SvcTraceViewer.exe)

log4net svctraceviewer

5
推荐指数
1
解决办法
877
查看次数

WCF跟踪只有失败的请求?

我想将跟踪信息保存到.svclog文件中,但仅用于失败的请求.这可能吗?如果是这样,有多精确?

我有一个每分钟被调用数百次的WCF服务.在极少数情况下,客户端将获得在WCF内部运行的代码边界之外发生的错误500(通常是安全问题).我想知道为什么这些错误正在发生以及导致它们的原因.

我还想使用跟踪查看器工具来检查.svclog文件.

据我所知,我有两个选择:1)通过system.webServer\tracing设置记录失败的请求来检测仪器FERB.不幸的是,我真的不喜欢IE跟踪查看器的界面,也没有从跟踪日志中获取足够的信息来找出我的代码之外的错误发生的原因.

2)在system.diagnostics\trace部分下打开全局跟踪.本节将生成出色的跟踪日志,其中包含我可能想要的所有内容.但是,我找不到只捕获失败请求信息的方法.此部分捕获所有请求的跟踪信息.我的跟踪日志快速填满!

我的错误500是间歇性和罕见的.最终,我希望始终将我的.svclog跟踪打开,但只有在发生失败请求时才启动它.

如果可能的话请提出建议?

谢谢!

编辑:

格雷厄姆,我遵循了你的建议,我没有看到我期望的日志.以下是web.config中的相关部分:

<system.diagnostics>
    <trace>
        <listeners>
            <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener, Microsoft.WindowsAzure.Diagnostics, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="AzureDiagnostics">
                <filter type="" />
            </add>
        </listeners>
    </trace>

    <sources>
        <source name="System.ServiceModel" switchValue="Error">
            <listeners>
                <add name="wcfTracing" 
                         type="System.Diagnostics.XmlWriterTraceListener" 
                         initializeData="Traces1.svclog"/>
                <add name="log4netTracing"
                         type="AzureWatch.Model.Service.Log4netTraceListener,AzureWatch.Model.Service"/>
            </listeners>
        </source>
        <source name="System.ServiceModel.MessageLogging" switchValue="Error">
            <listeners>
                <add name="wcfTracing"
                         type="System.Diagnostics.XmlWriterTraceListener"
                         initializeData="Traces2.svclog"/>
                <!--<add name="log4netTracing"
                         type="AzureWatch.Model.Service.Log4netTraceListener,AzureWatch.Model.Service"/>-->
            </listeners>
        </source>
    </sources>
    </system.diagnostics>

<!-- ... -->

        <diagnostics wmiProviderEnabled="true">

        <messageLogging 
            logEntireMessage="true" 
            logMalformedMessages="true" 
            logMessagesAtServiceLevel="true" 
            logMessagesAtTransportLevel="true"
            maxSizeOfMessageToLog="1000000"
            maxMessagesToLog="-1" />
    </diagnostics>
Run Code Online (Sandbox Code Playgroud)

这是WCF的客户端错误:

  <Exception>
    <Type>System.Net.Sockets.SocketException</Type>
    <Message>An existing connection was forcibly closed by the …
Run Code Online (Sandbox Code Playgroud)

wcf trace svctraceviewer

4
推荐指数
1
解决办法
5344
查看次数