2016-10-14 50 views
1

有無論如何路由System.Diagnostics.TraceSource日誌通過Nlog在.NET核心?使用NLog for .Net 4.5,我們可以在app.config文件中設置NLog.NLogTraceListener,如http://nlog-project.org/2010/09/02/routing-system-diagnostics-trace-and-system-diagnostics-tracesource-logs-through-nlog.html這篇文章中所示,但是我們沒有在.net內核中使用app.config。如何通過.NET核心路由System.Diagnostics.TraceSource日誌通過NLog核心

我已經設置了使用TraceSource輸出日誌的庫,我想將其路由到NLog目標。

建議,歡迎。

謝謝!

+0

也許將當前的.config設置添加到帖子中? – Julian

回答

0

到目前爲止我發現的唯一方法是以編程方式進行。

據當時https://msdn.microsoft.com/en-us/library/system.diagnostics.tracesource(v=vs.110).aspx的例子,

原始配置

<source name="System.Net" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch"> 
    <listeners> 
    <add name="nlog" /> 
    </listeners> 
</source> 

應該是這樣的:

static TraceSource ts = new TraceSource("System.Net"); 
SourceSwitch sourceSwitch = new SourceSwitch("SourceSwitch", "Verbose"); 
ts.Switch = sourceSwitch; 
int idxConsole = ts.Listeners.Add(new NLog.NLogTraceListener()); 
ts.Listeners[idxConsole].Name = "nlog"; 

我din't測試此與NLOG,但我有一個自定義跟蹤監聽器,它爲我工作。