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
|
@ -34,17 +34,17 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
|
|||
|
||||
_commonArguments = IApplet.ReadStruct<CommonArguments>(_normalSession.Pop());
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceAm, $"WebApplet version: 0x{_commonArguments.AppletVersion:x8}");
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAm, $"WebApplet version: 0x{_commonArguments.AppletVersion:x8}");
|
||||
|
||||
ReadOnlySpan<byte> webArguments = _normalSession.Pop();
|
||||
|
||||
(_shimKind, _arguments) = BrowserArgument.ParseArguments(webArguments);
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceAm, $"Web Arguments: {_arguments.Count}");
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAm, $"Web Arguments: {_arguments.Count}");
|
||||
|
||||
foreach (BrowserArgument argument in _arguments)
|
||||
{
|
||||
Logger.PrintStub(LogClass.ServiceAm, $"{argument.Type}: {argument.GetValue()}");
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceAm, $"{argument.Type}: {argument.GetValue()}");
|
||||
}
|
||||
|
||||
if ((_commonArguments.AppletVersion >= 0x80000 && _shimKind == ShimKind.Web) || (_commonArguments.AppletVersion >= 0x30000 && _shimKind == ShimKind.Share))
|
||||
|
|
|
@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
byte[] controllerSupportArgPrivate = _normalSession.Pop();
|
||||
ControllerSupportArgPrivate privateArg = IApplet.ReadStruct<ControllerSupportArgPrivate>(controllerSupportArgPrivate);
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceHid, $"ControllerApplet ArgPriv {privateArg.PrivateSize} {privateArg.ArgSize} {privateArg.Mode}" +
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceHid, $"ControllerApplet ArgPriv {privateArg.PrivateSize} {privateArg.ArgSize} {privateArg.Mode}" +
|
||||
$"HoldType:{(NpadJoyHoldType)privateArg.NpadJoyHoldType} StyleSets:{(ControllerType)privateArg.NpadStyleSet}");
|
||||
|
||||
if (privateArg.Mode != ControllerSupportMode.ShowControllerSupport)
|
||||
|
@ -55,19 +55,19 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
}
|
||||
else
|
||||
{
|
||||
Logger.PrintStub(LogClass.ServiceHid, $"Unknown revision of ControllerSupportArg.");
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceHid, $"Unknown revision of ControllerSupportArg.");
|
||||
|
||||
argHeader = IApplet.ReadStruct<ControllerSupportArgHeader>(controllerSupportArg); // Read just the header
|
||||
}
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceHid, $"ControllerApplet Arg {argHeader.PlayerCountMin} {argHeader.PlayerCountMax} {argHeader.EnableTakeOverConnection} {argHeader.EnableSingleMode}");
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceHid, $"ControllerApplet Arg {argHeader.PlayerCountMin} {argHeader.PlayerCountMax} {argHeader.EnableTakeOverConnection} {argHeader.EnableSingleMode}");
|
||||
|
||||
// Currently, the only purpose of this applet is to help
|
||||
// choose the primary input controller for the game
|
||||
// TODO: Ideally should hook back to HID.Controller. When applet is called, can choose appropriate controller and attach to appropriate id.
|
||||
if (argHeader.PlayerCountMin > 1)
|
||||
{
|
||||
Logger.PrintWarning(LogClass.ServiceHid, "More than one controller was requested.");
|
||||
Logger.Warning?.Print(LogClass.ServiceHid, "More than one controller was requested.");
|
||||
}
|
||||
|
||||
ControllerSupportResultInfo result = new ControllerSupportResultInfo
|
||||
|
@ -76,7 +76,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
SelectedId = (uint)GetNpadIdTypeFromIndex(_system.Device.Hid.Npads.PrimaryController)
|
||||
};
|
||||
|
||||
Logger.PrintStub(LogClass.ServiceHid, $"ControllerApplet ReturnResult {result.PlayerCount} {result.SelectedId}");
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceHid, $"ControllerApplet ReturnResult {result.PlayerCount} {result.SelectedId}");
|
||||
|
||||
_normalSession.Push(BuildResponse(result));
|
||||
AppletStateChanged?.Invoke(this, null);
|
||||
|
|
|
@ -49,7 +49,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
|
||||
if (keyboardConfig.Length < Marshal.SizeOf<SoftwareKeyboardConfig>())
|
||||
{
|
||||
Logger.PrintError(LogClass.ServiceAm, $"SoftwareKeyboardConfig size mismatch. Expected {Marshal.SizeOf<SoftwareKeyboardConfig>():x}. Got {keyboardConfig.Length:x}");
|
||||
Logger.Error?.Print(LogClass.ServiceAm, $"SoftwareKeyboardConfig size mismatch. Expected {Marshal.SizeOf<SoftwareKeyboardConfig>():x}. Got {keyboardConfig.Length:x}");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -58,7 +58,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
|
||||
if (!_normalSession.TryPop(out _transferMemory))
|
||||
{
|
||||
Logger.PrintError(LogClass.ServiceAm, "SwKbd Transfer Memory is null");
|
||||
Logger.Error?.Print(LogClass.ServiceAm, "SwKbd Transfer Memory is null");
|
||||
}
|
||||
|
||||
if (_keyboardConfig.UseUtf8)
|
||||
|
@ -110,7 +110,7 @@ namespace Ryujinx.HLE.HOS.Applets
|
|||
// Call the configured GUI handler to get user's input
|
||||
if (_device.UiHandler == null)
|
||||
{
|
||||
Logger.PrintWarning(LogClass.Application, $"GUI Handler is not set. Falling back to default");
|
||||
Logger.Warning?.Print(LogClass.Application, $"GUI Handler is not set. Falling back to default");
|
||||
_okPressed = true;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue