zoukankan      html  css  js  c++  java
  • 使用.net的跟踪诊断来记录wcf消息

    首先在项目的config文件中定义以下结点:

    <system.diagnostics>
      <sources>
        <source name="System.ServiceModel.MessageLogging" switchValue="Verbose">
          <listeners>
            <add name="xml" type="System.Diagnostics.XmlWriterTraceListener" initializeData="D:LogFileswcf.svclog" />
          </listeners>
        </source>
      </sources>
      <trace autoflush="true" />
    </system.diagnostics>

    上面主要几个选项有source的name属性(记录的来源)、switchValue属性(记录内容的级别),还有listeners的initialzeData(记录到哪里)

    ----

    在system.serviceModel结点中添加diagnostics结点,添加messageLogging,设置相关属性

    <system.serviceModel>
      <diagnostics>
        <messageLogging logEntireMessage="true"
                        maxMessagesToLog="300"
                        logMessagesAtServiceLevel="false"
                        logMalformedMessages="false"
                        logMessagesAtTransportLevel="true" />
      </diagnostics>
    </system.serviceModel>

    这样就可以利用.net自身的跟踪记录器了。

    ----

    查看也有现成的工具,这个工具在

    C:Program Files (x86)Microsoft SDKsWindowsv8.0AinNETFX 4.0 Tools

    注意这是64位系统,32位就是不用加x86的那个文件夹。

    然后在Windows目录下可能会有好多(vX.X)的文件夹。。。不同的系统应该不同,我这个win8.1是8.0a文件夹

    后面有可能是直接在bin目录里,反正我这个是上面那个文件夹

    ----

    总之找到SvcTraceViewer.exe这个程序就行了,它可以方便的查看记录的日志。

    服务跟踪查看器工具可与两种文件类型关联:.svclog 和 .stvproj。 在命令行中,可以使用两个参数来注册和注销文件扩展名。
    /register:将文件扩展名“.svclog”和“.stvproj”注册为与 SvcTraceViewer.exe 相关联
    /unregister:注销文件扩展名“.svclog”和“.stvproj”与 SvcTraceViewer.exe 的关联

    ----

    具体内容请参考MSDN:http://msdn.microsoft.com/zh-cn/library/ms732023.aspx

    ----

    补充:启用该跟踪诊断,WCF需要以管理员身份运行。

  • 相关阅读:
    Android studio关于点击事件后的页面跳转,选择完成后返回(onActivityResult)
    关于Android对话框简单实用方法总结
    Eclipse键盘输出文字,显示到屏幕上方法
    indexOf实际试用方法
    LiteOS裸机驱动移植01-以LED为例说明驱动移植
    LiteOS内核教程06-内存管理
    LiteOS内核教程05-互斥锁
    LiteOS内核教程04-信号量
    LiteOS内核教程03-任务管理
    LiteOS内核教程02-HelloWorld
  • 原文地址:https://www.cnblogs.com/xwgli/p/3368272.html
Copyright © 2011-2022 走看看