diff --git a/AyCode.Core/Loggers/AcConsoleLogWriter.cs b/AyCode.Core/Loggers/AcConsoleLogWriter.cs index dd7ad5c..2ce216c 100644 --- a/AyCode.Core/Loggers/AcConsoleLogWriter.cs +++ b/AyCode.Core/Loggers/AcConsoleLogWriter.cs @@ -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;