mirror of
https://github.com/9ParsonsB/Pulsar.git
synced 2025-04-05 17:39:39 -04:00
Add top level error logging. (#55)
* Add top level error logging. * Remove test exception, chain stringbuilders.
This commit is contained in:
parent
2d65123d28
commit
5043060ee2
@ -10,13 +10,40 @@ namespace Observatory
|
||||
static void Main(string[] args)
|
||||
{
|
||||
string version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString();
|
||||
if (Properties.Core.Default.CoreVersion != version)
|
||||
try
|
||||
{
|
||||
Properties.Core.Default.Upgrade();
|
||||
Properties.Core.Default.CoreVersion = version;
|
||||
Properties.Core.Default.Save();
|
||||
if (Properties.Core.Default.CoreVersion != version)
|
||||
{
|
||||
Properties.Core.Default.Upgrade();
|
||||
Properties.Core.Default.CoreVersion = version;
|
||||
Properties.Core.Default.Save();
|
||||
}
|
||||
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
|
||||
}
|
||||
BuildAvaloniaApp().StartWithClassicDesktopLifetime(args);
|
||||
catch (Exception ex)
|
||||
{
|
||||
var docPath = System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments);
|
||||
var errorMessage = new System.Text.StringBuilder();
|
||||
errorMessage
|
||||
.AppendLine($"Error encountered in Elite Observatory {version}.")
|
||||
.AppendLine(FormatExceptionMessage(ex))
|
||||
.AppendLine();
|
||||
System.IO.File.AppendAllText(docPath + System.IO.Path.DirectorySeparatorChar + "ObservatoryErrorLog.txt", errorMessage.ToString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static string FormatExceptionMessage(Exception ex, bool inner = false)
|
||||
{
|
||||
var errorMessage = new System.Text.StringBuilder();
|
||||
errorMessage
|
||||
.AppendLine($"{(inner ? "Inner e" : "E")}xception message: {ex.Message}")
|
||||
.AppendLine($"Stack trace:")
|
||||
.AppendLine(ex.StackTrace);
|
||||
if (ex.InnerException != null)
|
||||
errorMessage.AppendLine(FormatExceptionMessage(ex.InnerException, true));
|
||||
|
||||
return errorMessage.ToString();
|
||||
}
|
||||
|
||||
public static AppBuilder BuildAvaloniaApp()
|
||||
|
Loading…
x
Reference in New Issue
Block a user