gpt4 book ai didi

c# - System.Diagnostics.Trace,最简单的编程配置

转载 作者:太空狗 更新时间:2023-10-29 20:17:09 27 4
gpt4 key购买 nike

以下程序不打印文本“This is a trace”。没有 app.config。

我的问题是,如何修改以下代码(并且仅修改代码,而不是任何配置文件),以便在调用 t.TraceEvent 时传递的消息出现在控制台窗口中

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();
}
}
}

最佳答案

参见 Trace Listeners .

DefaultTraceListener 将写入输出窗口。要向 TraceListener 发送消息,您只需调用 Trace.WriteLine("my output string");

// C#
System.Diagnostics.Trace.Listeners.Clear();
System.Diagnostics.Trace.Listeners.Add(
new System.Diagnostics.TextWriterTraceListener(Console.Out));

编辑:作为对您评论的回应,以下代码将在控制台窗口中的“按回车退出”之前立即打印“我的输出字符串”:

  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,在这种情况下,您只需要设置 Switch,以便它知道应该将哪个级别的跟踪事件发送到控制台窗口。添加您的听众后尝试添加此内容:

SourceSwitch sourceSwitch = new SourceSwitch("SourceSwitch", "Verbose");
t.Switch = sourceSwitch;

关于c# - System.Diagnostics.Trace,最简单的编程配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19871129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com