C# System.Diagnostics.Trace,最简单的编程配置
以下程序不打印文本“这是跟踪”。没有app.config 我的问题是,如何修改以下代码(仅修改代码,不修改任何配置文件),以便在调用t.TraceEvent时传递的消息显示在控制台窗口中C# System.Diagnostics.Trace,最简单的编程配置,c#,.net,trace,system.diagnostics,C#,.net,Trace,System.diagnostics,以下程序不打印文本“这是跟踪”。没有app.config 我的问题是,如何修改以下代码(仅修改代码,不修改任何配置文件),以便在调用t.TraceEvent时传递的消息显示在控制台窗口中 using System; using System.Collections.Generic; using System.Diagnostics; namespace ConsoleApplication1 { class Program { static void Main(stri
using System;
using System.Collections.Generic;
using System.Diagnostics;
namespace ConsoleApplication1 {
class Program {
static void Main(string[] args) {
Trace.Listeners.Add(
new TextWriterTraceListener(Console.Out)
);
TraceSource t = new TraceSource("Test");
t.Listeners.AddRange(Trace.Listeners);
t.TraceEvent(TraceEventType.Critical, 1, "This is a trace");
Console.Write("Press enter to quit");
Console.ReadLine();
}
}
}
看
DefaultTraceListener
将写入输出窗口。要向TraceListener发送消息,只需调用Trace.WriteLine(“我的输出字符串”)代码>
编辑:
为了响应您的评论,以下代码将在控制台窗口中“按enter键退出”之前立即打印“我的输出字符串”:
static void Main(string[] args)
{
Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
Trace.WriteLine("my output string");
Console.Write("Press enter to quit");
Console.ReadLine();
}
编辑2:
在重新阅读您的问题后,我意识到您正在特别尝试使用TraceSource
,在这种情况下,您只需设置开关,以便它知道应将哪一级别的跟踪事件发送到控制台窗口。请在添加侦听器后尝试添加以下内容:
SourceSwitch sourceSwitch = new SourceSwitch("SourceSwitch", "Verbose");
t.Switch = sourceSwitch;
如果使用的是版本配置,请定义跟踪符号。或者切换到调试配置。
SourceSwitch sourceSwitch = new SourceSwitch("SourceSwitch", "Verbose");
t.Switch = sourceSwitch;