无论如何通过.NET Core中的NLog路由System.Diagnostics.TraceSource日志?使用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 core中没有app.config了.
我已经设置了使用TraceSource输出日志的库,我想将它路由到NLog目标.
欢迎提出建议.
谢谢!
最佳答案 到目前为止我找到的唯一方法是以编程方式进行.
根据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";
我不用NLog测试这个,但我有一个自定义跟踪监听器,它对我有用.