ArchiSteamFarm.ArchiLogger.LogFatalException C# (CSharp) Метод

LogFatalException() приватный Метод

private LogFatalException ( Exception exception, [ previousMethodName = null ) : void
exception System.Exception
previousMethodName [
Результат void
        internal void LogFatalException(Exception exception, [CallerMemberName] string previousMethodName = null)
        {
            if (exception == null) {
                LogNullError(nameof(exception));
                return;
            }

            Logger.Fatal(exception, $"{previousMethodName}()");

            // If LogManager has been initialized already, don't do anything else
            if (LogManager.Configuration != null) {
                return;
            }

            // Otherwise, if we run into fatal exception before logging module is even initialized, write exception to classic log file
            File.WriteAllText(SharedInfo.LogFile, DateTime.Now + " ASF V" + SharedInfo.Version + " has run into fatal exception before core logging module was even able to initialize!" + Environment.NewLine);

            while (true) {
                File.AppendAllText(SharedInfo.LogFile, "[!] EXCEPTION: " + previousMethodName + "() " + exception.Message + Environment.NewLine + "StackTrace:" + Environment.NewLine + exception.StackTrace);
                if (exception.InnerException != null) {
                    exception = exception.InnerException;
                    continue;
                }

                break;
            }
        }

Usage Example

Пример #1
0
        private static void UnhandledExceptionHandler(object sender, UnhandledExceptionEventArgs args)
        {
            if (args?.ExceptionObject == null)
            {
                ArchiLogger.LogNullError(nameof(args) + " || " + nameof(args.ExceptionObject));
                return;
            }

            ArchiLogger.LogFatalException((Exception)args.ExceptionObject);
        }
All Usage Examples Of ArchiSteamFarm.ArchiLogger::LogFatalException