Logging Improvements (#7)

* Logging Improvements

Add Trace functions to SVC.
Add function to get the function name who called.
This commit is contained in:
Ac_K 2018-02-09 20:39:50 +01:00 committed by gdkchan
parent 6a3aa6cd88
commit 12e263f8b2
2 changed files with 13 additions and 5 deletions

View File

@ -1,6 +1,7 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.IO; using System.IO;
using System.Reflection;
using System.Text; using System.Text;
namespace Ryujinx namespace Ryujinx
@ -30,6 +31,11 @@ namespace Ryujinx
return ExecutionTime.ElapsedMilliseconds.ToString().PadLeft(8, '0') + "ms"; return ExecutionTime.ElapsedMilliseconds.ToString().PadLeft(8, '0') + "ms";
} }
private static string WhoCalledMe()
{
return new StackTrace().GetFrame(2).GetMethod().Name;
}
private static void LogFile(string Message) private static void LogFile(string Message)
{ {
if (EnableLogFile) if (EnableLogFile)
@ -59,7 +65,7 @@ namespace Ryujinx
{ {
if (EnableTrace) if (EnableTrace)
{ {
string Text = $"{GetExecutionTime()} | TRACE > {Message}"; string Text = $"{GetExecutionTime()} | TRACE > {WhoCalledMe()} - {Message}";
Console.ForegroundColor = ConsoleColor.DarkGray; Console.ForegroundColor = ConsoleColor.DarkGray;
Console.WriteLine(Text.PadLeft(Text.Length + 1, ' ')); Console.WriteLine(Text.PadLeft(Text.Length + 1, ' '));
@ -73,7 +79,7 @@ namespace Ryujinx
{ {
if (EnableDebug) if (EnableDebug)
{ {
string Text = $"{GetExecutionTime()} | DEBUG > {Message}"; string Text = $"{GetExecutionTime()} | DEBUG > {WhoCalledMe()} - {Message}";
Console.ForegroundColor = ConsoleColor.Gray; Console.ForegroundColor = ConsoleColor.Gray;
Console.WriteLine(Text.PadLeft(Text.Length + 1, ' ')); Console.WriteLine(Text.PadLeft(Text.Length + 1, ' '));
@ -87,7 +93,7 @@ namespace Ryujinx
{ {
if (EnableWarn) if (EnableWarn)
{ {
string Text = $"{GetExecutionTime()} | WARN > {Message}"; string Text = $"{GetExecutionTime()} | WARN > {WhoCalledMe()} - {Message}";
Console.ForegroundColor = ConsoleColor.Yellow; Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine(Text.PadLeft(Text.Length + 1, ' ')); Console.WriteLine(Text.PadLeft(Text.Length + 1, ' '));
@ -101,7 +107,7 @@ namespace Ryujinx
{ {
if (EnableError) if (EnableError)
{ {
string Text = $"{GetExecutionTime()} | ERROR > {Message}"; string Text = $"{GetExecutionTime()} | ERROR > {WhoCalledMe()} - {Message}";
Console.ForegroundColor = ConsoleColor.Red; Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(Text.PadLeft(Text.Length + 1, ' ')); Console.WriteLine(Text.PadLeft(Text.Length + 1, ' '));
@ -115,7 +121,7 @@ namespace Ryujinx
{ {
if (EnableFatal) if (EnableFatal)
{ {
string Text = $"{GetExecutionTime()} | FATAL > {Message}"; string Text = $"{GetExecutionTime()} | FATAL > {WhoCalledMe()} - {Message}";
Console.ForegroundColor = ConsoleColor.Magenta; Console.ForegroundColor = ConsoleColor.Magenta;
Console.WriteLine(Text.PadLeft(Text.Length + 1, ' ')); Console.WriteLine(Text.PadLeft(Text.Length + 1, ' '));

View File

@ -69,7 +69,9 @@ namespace Ryujinx.OsHle.Svc
if (SvcFuncs.TryGetValue(e.Id, out SvcFunc Func)) if (SvcFuncs.TryGetValue(e.Id, out SvcFunc Func))
{ {
Logging.Trace($"{Func.Method.Name} called.");
Func(Ns, Registers, Memory); Func(Ns, Registers, Memory);
Logging.Trace($"{Func.Method.Name} ended.");
} }
else else
{ {