From a33dc2f4919f7fdc8ea9db41c4c70c38cedfd3df Mon Sep 17 00:00:00 2001 From: mageven <62494521+mageven@users.noreply.github.com> Date: Tue, 4 Aug 2020 05:02:53 +0530 Subject: 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 --- ARMeilleure/Translation/PTC/Ptc.cs | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) (limited to 'ARMeilleure') diff --git a/ARMeilleure/Translation/PTC/Ptc.cs b/ARMeilleure/Translation/PTC/Ptc.cs index 154af4eb..dfb9fe91 100644 --- a/ARMeilleure/Translation/PTC/Ptc.cs +++ b/ARMeilleure/Translation/PTC/Ptc.cs @@ -98,9 +98,6 @@ namespace ARMeilleure.Translation.PTC CachePathBackup = string.Empty; Disable(); - - AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; - AppDomain.CurrentDomain.ProcessExit += CurrentDomain_ProcessExit; } public static void Initialize(string titleIdText, string displayVersion, bool enabled) @@ -126,7 +123,7 @@ namespace ARMeilleure.Translation.PTC return; } - Logger.PrintInfo(LogClass.Ptc, $"Initializing Profiled Persistent Translation Cache (enabled: {enabled})."); + Logger.Info?.Print(LogClass.Ptc, $"Initializing Profiled Persistent Translation Cache (enabled: {enabled})."); TitleIdText = titleIdText; DisplayVersion = !String.IsNullOrEmpty(displayVersion) ? displayVersion : DisplayVersionDefault; @@ -624,11 +621,11 @@ namespace ARMeilleure.Translation.PTC do { - Logger.PrintInfo(LogClass.Ptc, $"{funcsCount + _translateCount} of {ProfiledFuncsCount} functions to translate - {_rejitCount} functions rejited"); + Logger.Info?.Print(LogClass.Ptc, $"{funcsCount + _translateCount} of {ProfiledFuncsCount} functions to translate - {_rejitCount} functions rejited"); } while (!_loggerEvent.WaitOne(refreshRate * 1000)); - Logger.PrintInfo(LogClass.Ptc, $"{funcsCount + _translateCount} of {ProfiledFuncsCount} functions to translate - {_rejitCount} functions rejited"); + Logger.Info?.Print(LogClass.Ptc, $"{funcsCount + _translateCount} of {ProfiledFuncsCount} functions to translate - {_rejitCount} functions rejited"); } internal static void WriteInfoCodeReloc(long address, bool highCq, PtcInfo ptcInfo) @@ -732,9 +729,6 @@ namespace ARMeilleure.Translation.PTC { _disposed = true; - AppDomain.CurrentDomain.UnhandledException -= CurrentDomain_UnhandledException; - AppDomain.CurrentDomain.ProcessExit -= CurrentDomain_ProcessExit; - Wait(); _waitEvent.Dispose(); @@ -746,23 +740,5 @@ namespace ARMeilleure.Translation.PTC _unwindInfosStream.Dispose(); } } - - private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) - { - Close(); - PtcProfiler.Stop(); - - if (e.IsTerminating) - { - Dispose(); - PtcProfiler.Dispose(); - } - } - - private static void CurrentDomain_ProcessExit(object sender, EventArgs e) - { - Dispose(); - PtcProfiler.Dispose(); - } } } -- cgit v1.2.3