mirror of
https://github.com/ryujinx-mirror/ryujinx.git
synced 2025-08-31 01:06:28 -05:00
Improved logging (#103)
This commit is contained in:
51
Ryujinx/Ui/ConsoleLog.cs
Normal file
51
Ryujinx/Ui/ConsoleLog.cs
Normal file
@@ -0,0 +1,51 @@
|
||||
using Ryujinx.Core.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
namespace Ryujinx
|
||||
{
|
||||
static class ConsoleLog
|
||||
{
|
||||
private static Dictionary<LogLevel, ConsoleColor> LogColors;
|
||||
|
||||
private static object ConsoleLock;
|
||||
|
||||
static ConsoleLog()
|
||||
{
|
||||
LogColors = new Dictionary<LogLevel, ConsoleColor>()
|
||||
{
|
||||
{ LogLevel.Stub, ConsoleColor.DarkGray },
|
||||
{ LogLevel.Info, ConsoleColor.White },
|
||||
{ LogLevel.Warning, ConsoleColor.Yellow },
|
||||
{ LogLevel.Error, ConsoleColor.Red }
|
||||
};
|
||||
|
||||
ConsoleLock = new object();
|
||||
}
|
||||
|
||||
public static void PrintLog(object sender, LogEventArgs e)
|
||||
{
|
||||
string FormattedTime = e.Time.ToString(@"hh\:mm\:ss\.fff");
|
||||
|
||||
string CurrentThread = Thread.CurrentThread.ManagedThreadId.ToString("d4");
|
||||
|
||||
string Message = FormattedTime + " | " + CurrentThread + " " + e.Message;
|
||||
|
||||
if (LogColors.TryGetValue(e.Level, out ConsoleColor Color))
|
||||
{
|
||||
lock (ConsoleLock)
|
||||
{
|
||||
Console.ForegroundColor = Color;
|
||||
|
||||
Console.WriteLine(Message);
|
||||
Console.ResetColor();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.WriteLine(Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user