Improved Logger (#1292)

* Logger class changes only

Now compile-time checking is possible with the help of Nullable Value
types.

* Misc formatting

* Manual optimizations

PrintGuestLog
PrintGuestStackTrace
Surfaceflinger DequeueBuffer

* Reduce SendVibrationXX log level to Debug

* Add Notice log level

This level is always enabled and used to print system info, etc...
Also, rewrite LogColor to switch expression as colors are static

* Unify unhandled exception event handlers

* Print enabled LogLevels during init

* Re-add App Exit disposes in proper order

nit: switch case spacing

* Revert PrintGuestStackTrace to Info logs due to #1407

PrintGuestStackTrace is now called in some critical error handlers
so revert to old behavior as KThread isn't part of Guest.

* Batch replace Logger statements
This commit is contained in:
mageven 2020-08-04 05:02:53 +05:30 committed by GitHub
parent 60db4c3530
commit a33dc2f491
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
120 changed files with 800 additions and 809 deletions

View file

@ -39,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
if ((position - basePosition) + buffer.Length > size)
{
Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
Logger.Error?.Print(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
break;
}
@ -67,7 +67,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
string deviceName = Encoding.ASCII.GetString(deviceNameBuffer);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}
@ -89,7 +89,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
}
else
{
Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
Logger.Error?.Print(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
}
return ResultCode.Success;
@ -106,7 +106,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
context.Response.HandleDesc = IpcHandleDesc.MakeCopy(handle);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}
@ -117,7 +117,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
{
context.ResponseData.Write(2);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}
@ -140,7 +140,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
if ((position - basePosition) + buffer.Length > size)
{
Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
Logger.Error?.Print(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
break;
}
@ -167,7 +167,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
string deviceName = Encoding.UTF8.GetString(deviceNameBuffer);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}
@ -178,7 +178,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
{
context.ResponseData.Write(1f);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}
@ -199,7 +199,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
}
else
{
Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
Logger.Error?.Print(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
}
return ResultCode.Success;
@ -216,7 +216,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
context.Response.HandleDesc = IpcHandleDesc.MakeCopy(handle);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}
@ -232,7 +232,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
context.Response.HandleDesc = IpcHandleDesc.MakeCopy(handle);
Logger.PrintStub(LogClass.ServiceAudio);
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
return ResultCode.Success;
}