我正在开发基本上是控制台应用程序的多线程应用程序(服务器)。在其中,我将处理日志显示到控制台,默认情况下为白色。但是在成功的交易中,我以绿色显示文本,在不成功的交易中,我以红色显示文本。所以我在 Program.cs 中有三个单独的函数。
对于简单的日志
public static void Write(string text)
{
try
{
Console.Out.Write(text);
}
catch (Exception)
{ }
}
对于不成功的交易,我将颜色更改为红色,然后打印,然后返回白色
public static void WriteError(string text)
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("\t" + text);
Console.ForegroundColor = ConsoleColor.White;
}
对于成功的交易,我将颜色更改为绿色,然后打印,然后返回白色
public static void WriteSuccess(string text)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\t" + text);
Console.ForegroundColor = ConsoleColor.White;
}
问题是当超过 200 个客户端连接并且每个客户端的事务日志都在控制台上打印时。当我将单行的颜色更改为绿色时,它也会导致许多其他正常日志行也变为绿色。所以请告诉我如何解决这个问题。