ConsoleLog lock

This commit is contained in:
jozsef.b@aycode.com 2024-05-19 06:02:28 +02:00
parent 5b2044a160
commit 56f1eb75f9
1 changed files with 19 additions and 21 deletions

View File

@ -9,6 +9,8 @@ public interface IAcConsoleLogWriter : IAcTextLogWriterBase
public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
{
private static readonly object ForWriterLock = new();
protected AcConsoleLogWriter() : this(null)
{
Initialize();
@ -33,29 +35,25 @@ public class AcConsoleLogWriter : AcTextLogWriterBase, IAcConsoleLogWriter
{
if (logText.IsNullOrWhiteSpace()) return;
//lock (ForWriterLock)
lock (ForWriterLock)
{
if (loglevel is > LogLevel.Trace and < LogLevel.Suggest)
switch (loglevel)
{
//Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(logText);
return;
}
if (loglevel <= LogLevel.Trace)
{
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(logText);
}
else if (loglevel == LogLevel.Suggest)
{
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(logText);
}
else
{
Console.ForegroundColor = loglevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
Console.WriteLine($"{AcEnv.NL}{logText}{AcEnv.NL}");
case > LogLevel.Trace and < LogLevel.Suggest:
Console.WriteLine(logText);
return;
case <= LogLevel.Trace:
Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(logText);
break;
case LogLevel.Suggest:
Console.ForegroundColor = ConsoleColor.Cyan;
Console.WriteLine(logText);
break;
default:
Console.ForegroundColor = loglevel == LogLevel.Warning ? ConsoleColor.Yellow : ConsoleColor.Red;
Console.WriteLine($"{AcEnv.NL}{logText}{AcEnv.NL}");
break;
}
Console.ForegroundColor = ConsoleColor.White;