aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs')
-rw-r--r--Ryujinx.Common/Logging/Targets/ConsoleLogTarget.cs34
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()