【问题标题】:System.Diagnostics.Trace in referenced Class Library project引用的类库项目中的 System.Diagnostics.Trace
【发布时间】:2013-03-19 15:09:26
【问题描述】:

我有一个Asp.Net (Web Api) 项目。在这个项目中,我引用了另一个类库项目。

在引用的类库中写入的跟踪不会显示在我的日志中。

如何使用System.Diagnostics 使两个项目的跟踪显示在同一日志中?换句话说,我怎样才能让引用的类库使用来自 Api 项目的web.config 诊断设置?如果这是不可能的,我怎样才能在日志中获取在引用的类库中写入的跟踪?

我尝试将 System.Diagnostics 设置从 web.config 添加到 app.config 但这似乎根本没有任何作用。

API 项目:

TraceSource source = new TraceSource("MyProject");
source.TraceEvent(TraceEventType.Information, 1, "My logged Trace");

引用的类库:

TraceSource source = new TraceSource("MyProject");
source.TraceEvent(TraceEventType.Information, 1, "My disappearing Trace");

Web.config

<system.diagnostics>
  <sources>
    <source name="MyProject" switchValue="All">
      <listeners>
        <clear />
        <add name="log" />
      </listeners>
    </source>
  </sources>
  <sharedListeners>
    <add name="log"
         type="System.Diagnostics.XmlWriterTraceListener"
         initializeData="Log.svclog"
    />
  </sharedListeners>
  <trace autoflush="true"/>
</system.diagnostics>

【问题讨论】:

  • 能否在配置中显示跟踪侦听器配置?
  • 是的,我做了,这是我的监听器配置的简化版本。
  • 有趣的是,我复制了您的设置并将您的两个跟踪都写入文件。
  • 您能以某种方式分享您复制的设置吗?
  • 是的,给我一分钟

标签: c# asp.net asp.net-web-api system.diagnostics


【解决方案1】:

【讨论】:

  • 是的,我确实拥有这两个项目,我确实配置了跟踪侦听器,但只记录了来自 Api 项目的跟踪。
猜你喜欢
  • 2016-05-19
  • 2016-04-22
  • 2013-01-17
  • 1970-01-01
  • 2014-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多