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

@ -101,7 +101,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
if (!context.Device.System.State.Account.TryGetUser(userId, out UserProfile userProfile))
{
Logger.PrintWarning(LogClass.ServiceAcc, $"User 0x{userId} not found!");
Logger.Warning?.Print(LogClass.ServiceAcc, $"User 0x{userId} not found!");
return ResultCode.UserNotFound;
}
@ -143,7 +143,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// This checks something related to baas (online), and then return an invalid UserId if the check in baas returns an error code.
// In our case, we can just log it for now.
Logger.PrintStub(LogClass.ServiceAcc, new { baasCheck });
Logger.Stub?.PrintStub(LogClass.ServiceAcc, new { baasCheck });
}
// As we returned an invalid UserId if there is more than one user earlier, now we can return only the first one.
@ -182,7 +182,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
_applicationLaunchProperty = ApplicationLaunchProperty.GetByPid(context);
}
Logger.PrintStub(LogClass.ServiceAcc, new { unknown });
Logger.Stub?.PrintStub(LogClass.ServiceAcc, new { unknown });
return ResultCode.Success;
}
@ -246,7 +246,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// TODO: Store thumbnailBuffer somewhere, in save data 0x8000000000000010 ?
Logger.PrintStub(LogClass.ServiceAcc);
Logger.Stub?.PrintStub(LogClass.ServiceAcc);
return ResultCode.Success;
}
@ -269,7 +269,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// TODO: Clear the Thumbnail somewhere, in save data 0x8000000000000010 ?
Logger.PrintStub(LogClass.ServiceAcc);
Logger.Stub?.PrintStub(LogClass.ServiceAcc);
return ResultCode.Success;
}
@ -291,7 +291,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
context.ResponseData.Write(context.Device.Application.ControlData.Value.UserAccountSwitchLock);
Logger.PrintStub(LogClass.ServiceAcc);
Logger.Stub?.PrintStub(LogClass.ServiceAcc);
return ResultCode.Success;
}

View file

@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// CheckAvailability()
public ResultCode CheckAvailability(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceAcc);
Logger.Stub?.PrintStub(LogClass.ServiceAcc);
return ResultCode.Success;
}
@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// GetAccountId() -> nn::account::NetworkServiceAccountId
public ResultCode GetAccountId(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceAcc, new { NetworkServiceAccountId });
Logger.Stub?.PrintStub(LogClass.ServiceAcc, new { NetworkServiceAccountId });
context.ResponseData.Write(NetworkServiceAccountId);
@ -40,7 +40,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// GetNintendoAccountUserResourceCacheForApplication() -> (nn::account::NintendoAccountId, buffer<nn::account::nas::NasUserBaseForApplication, 0x1a>, buffer<bytes, 6>)
public ResultCode GetNintendoAccountUserResourceCacheForApplication(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceAcc, new { NetworkServiceAccountId });
Logger.Stub?.PrintStub(LogClass.ServiceAcc, new { NetworkServiceAccountId });
context.ResponseData.Write(NetworkServiceAccountId);

View file

@ -22,7 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
// Get() -> (nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x1a>)
public ResultCode Get(ServiceCtx context)
{
Logger.PrintStub(LogClass.ServiceAcc);
Logger.Stub?.PrintStub(LogClass.ServiceAcc);
long position = context.Request.ReceiveBuff[0].Position;