c# – 如何找到我在app.config中声明的跟踪侦听器(在代码中)?

前端之家收集整理的这篇文章主要介绍了c# – 如何找到我在app.config中声明的跟踪侦听器(在代码中)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有自定义跟踪侦听器,它记录到一个字符串(我将绑定到一个wpf文本框),我试图在我的viewmodelLocator中找到它,它(或我定义的所有其他侦听器)似乎不是在System.Diagnostics.Trace.Listeners)

App.config片段

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.diagnostics>
    <switches>
      <add name="RomanExampleWPFAppSwitch" value="Verbose" />
    </switches>
    <sources>
      <source name="RomanExampleWPFApp" switchName="RomanExampleWPFAppSwitch">
        <listeners>
          <remove name="Default" />
          <add name="RollingLog" type="Microsoft.VisualBasic.Logging.FileLogTraceListener,Microsoft.VisualBasic,Version=10.0.0.0,Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a" initializeData="RollingLogWriter" append="true" autoFlush="true" baseFileName="RomanExampleWPFAppLog" location="LocalUserApplicationDirectory" logFileCreationSchedule="Daily" reserveDiskSpace="1073741824" traceOutputOptions="DateTime,LogicalOperationStack" />
          <add name="StringLog" type="RomanExampleWPFApp.Other.StringLogTraceListener,RomanExampleWPFApp" />
          <add name="consoleListener" type="System.Diagnostics.ConsoleTraceListener" />
        </listeners>
      </source>
    </sources>
  </system.diagnostics>
</configuration>

解决方法

如果您无法在Trace.Listeners集合中找到它,那么您可以假设从未添加过侦听器.两个基本原因:

>您可能正在调试启用Visual Studio Hosting Process选项.其中使用了不同的配置文件app.vshost.exe.config.项目属性,调试选项卡将其关闭.> .config文件中的条目可能格式不正确.您可以从Visual Studio输出窗口中看到,您将看到“第一次机会异常”通知. Debug Exceptions,单击Thrown复选框以强制调试器在引发异常时停止.您可以从堆栈跟踪中收集信息.此异常不会阻止您的应用运行.我们无法猜测“类型”值是否准确.

猜你在找的C#相关文章