diff options
Diffstat (limited to 'Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs')
-rw-r--r-- | Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs b/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs index ff5c6f5a..15f0e153 100644 --- a/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs +++ b/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs @@ -5,23 +5,20 @@ namespace Ryujinx.Common.Logging { public class ConsoleLogTarget : ILogTarget { - private static readonly ConcurrentDictionary<LogLevel, ConsoleColor> _logColors; - private readonly ILogFormatter _formatter; private readonly string _name; string ILogTarget.Name { get => _name; } - static ConsoleLogTarget() - { - _logColors = new ConcurrentDictionary<LogLevel, ConsoleColor> { - [ LogLevel.Stub ] = ConsoleColor.DarkGray, - [ LogLevel.Info ] = ConsoleColor.White, - [ LogLevel.Warning ] = ConsoleColor.Yellow, - [ LogLevel.Error ] = ConsoleColor.Red - }; - } + private static ConsoleColor GetLogColor(LogLevel level) => level switch { + LogLevel.Info => ConsoleColor.White, + LogLevel.Warning => ConsoleColor.Yellow, + LogLevel.Error => ConsoleColor.Red, + LogLevel.Stub => ConsoleColor.DarkGray, + LogLevel.Notice => ConsoleColor.Cyan, + _ => ConsoleColor.Gray, + }; public ConsoleLogTarget(string name) { @@ -31,18 +28,9 @@ namespace Ryujinx.Common.Logging public void Log(object sender, LogEventArgs args) { - if (_logColors.TryGetValue(args.Level, out ConsoleColor color)) - { - Console.ForegroundColor = color; - - Console.WriteLine(_formatter.Format(args)); - - Console.ResetColor(); - } - else - { - Console.WriteLine(_formatter.Format(args)); - } + Console.ForegroundColor = GetLogColor(args.Level); + Console.WriteLine(_formatter.Format(args)); + Console.ResetColor(); } public void Dispose() |