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:
parent
60db4c3530
commit
a33dc2f491
120 changed files with 800 additions and 809 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
|
|||
{
|
||||
context.ResponseData.Write((int)_playState);
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceAudio, new { State = Enum.GetName(typeof(PlayState), _playState) });
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAudio, new { State = Enum.GetName(typeof(PlayState), _playState) });
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
@ -287,7 +287,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
|
|||
// Start()
|
||||
public ResultCode StartAudioRenderer(ServiceCtx context)
|
||||
{
|
||||
Logger.PrintStub(LogClass.ServiceAudio);
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
|
||||
|
||||
_playState = PlayState.Playing;
|
||||
|
||||
|
@ -298,7 +298,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
|
|||
// Stop()
|
||||
public ResultCode StopAudioRenderer(ServiceCtx context)
|
||||
{
|
||||
Logger.PrintStub(LogClass.ServiceAudio);
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAudio);
|
||||
|
||||
_playState = PlayState.Stopped;
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRendererManager
|
|||
|
||||
if (performanceMetricsDataFormat != 1)
|
||||
{
|
||||
Logger.PrintWarning(LogClass.ServiceAudio, $"PerformanceMetricsDataFormat: {performanceMetricsDataFormat} is not supported!");
|
||||
Logger.Warning?.Print(LogClass.ServiceAudio, $"PerformanceMetricsDataFormat: {performanceMetricsDataFormat} is not supported!");
|
||||
}
|
||||
|
||||
return (((parameters.VoiceCount +
|
||||
|
|
|
@ -78,7 +78,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
}
|
||||
else
|
||||
{
|
||||
Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
|
||||
Logger.Error?.Print(LogClass.ServiceAudio, $"Output buffer size {size} too small!");
|
||||
}
|
||||
|
||||
context.ResponseData.Write(nameCount);
|
||||
|
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
|
||||
if (deviceName != DefaultAudioOutput)
|
||||
{
|
||||
Logger.PrintWarning(LogClass.Audio, "Invalid device name!");
|
||||
Logger.Warning?.Print(LogClass.Audio, "Invalid device name!");
|
||||
|
||||
return ResultCode.DeviceNotFound;
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
}
|
||||
else
|
||||
{
|
||||
Logger.PrintError(LogClass.ServiceAudio, $"Output buffer size {receiveSize} too small!");
|
||||
Logger.Error?.Print(LogClass.ServiceAudio, $"Output buffer size {receiveSize} too small!");
|
||||
}
|
||||
|
||||
int sampleRate = context.RequestData.ReadInt32();
|
||||
|
@ -126,7 +126,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
|
||||
if (sampleRate != DefaultSampleRate)
|
||||
{
|
||||
Logger.PrintWarning(LogClass.Audio, "Invalid sample rate!");
|
||||
Logger.Warning?.Print(LogClass.Audio, "Invalid sample rate!");
|
||||
|
||||
return ResultCode.UnsupportedSampleRate;
|
||||
}
|
||||
|
|
|
@ -86,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
|
||||
context.ResponseData.Write(size);
|
||||
|
||||
Logger.PrintDebug(LogClass.ServiceAudio, $"WorkBufferSize is 0x{size:x16}.");
|
||||
Logger.Debug?.Print(LogClass.ServiceAudio, $"WorkBufferSize is 0x{size:x16}.");
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
{
|
||||
context.ResponseData.Write(0L);
|
||||
|
||||
Logger.PrintWarning(LogClass.ServiceAudio, $"Library Revision REV{AudioRendererCommon.GetRevisionVersion(parameters.Revision)} is not supported!");
|
||||
Logger.Warning?.Print(LogClass.ServiceAudio, $"Library Revision REV{AudioRendererCommon.GetRevisionVersion(parameters.Revision)} is not supported!");
|
||||
|
||||
return ResultCode.UnsupportedRevision;
|
||||
}
|
||||
|
@ -140,7 +140,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
|
|||
int revisionInfo = context.RequestData.ReadInt32();
|
||||
long appletResourceUserId = context.RequestData.ReadInt64();
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceAudio, new { appletResourceUserId, revisionInfo });
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAudio, new { appletResourceUserId, revisionInfo });
|
||||
|
||||
return GetAudioDeviceService(context);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue