Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何将System.Diagnostics.Trace和System.Diagnostics.Debug消息记录到NLog文件?_C#_Nlog - Fatal编程技术网

C# 如何将System.Diagnostics.Trace和System.Diagnostics.Debug消息记录到NLog文件?

C# 如何将System.Diagnostics.Trace和System.Diagnostics.Debug消息记录到NLog文件?,c#,nlog,C#,Nlog,我正在支持一个大的、旧的应用程序。代码使用NLog以及Debug.WriteLine和Trace.WriteLine。我正在尝试将Debug.WriteLine和Trace.WriteLine重定向到Nlog文件。让一切都在一个地方。目前,一些在输出窗口中,一些在日志文件中 该文章将System.Net和System.Net.Sockets分流到日志文件。我试过了,效果很好。我看到System.Net和System.Net.Sockets消息被记录到文件中。描述了同样的情况——而且它是有效的

我正在支持一个大的、旧的应用程序。代码使用NLog以及
Debug.WriteLine
Trace.WriteLine
。我正在尝试将Debug.WriteLine和Trace.WriteLine重定向到Nlog文件。让一切都在一个地方。目前,一些在输出窗口中,一些在日志文件中

该文章将System.Net和System.Net.Sockets分流到日志文件。我试过了,效果很好。我看到System.Net和System.Net.Sockets消息被记录到文件中。描述了同样的情况——而且它是有效的

不起作用的是将我自己的消息从我自己的名称空间和类记录到日志文件中

System.Diagnostics.Debug.WriteLine(“这不会在日志文件中结束”);
System.Diagnostics.Trace.WriteLine(“这不会在日志文件中结束”);
我已尝试将源名称从我的应用程序更改为名称空间。没用。我无法让自己的WriteLines登录到该文件。它们仍然显示在Visual Studio输出窗口中

例如:


显式NLog调用很好地记录到日志文件中:

NLog.LogManager.GetCurrentClassLogger().Trace(“这很有效”);
您已将配置为登录到NLog,但您的trace语句未使用该TraceSource

尝试:


或者使用您配置的TraceSource,例如:

TraceSource source=新的TraceSource(“MyAppNamespace”);
source.TraceEvent(TraceEventType.Warning,2,“未找到文件测试”);