【发布时间】: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