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)
|
static void Main(string[] args)
|
||||||
{
|
{
|
||||||
string version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString();
|
string version = System.Reflection.Assembly.GetEntryAssembly().GetName().Version.ToString();
|
||||||
if (Properties.Core.Default.CoreVersion != version)
|
try
|
||||||
{
|
{
|
||||||
Properties.Core.Default.Upgrade();
|
if (Properties.Core.Default.CoreVersion != version)
|
||||||
Properties.Core.Default.CoreVersion = version;
|
{
|
||||||
Properties.Core.Default.Save();
|
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()
|
public static AppBuilder BuildAvaloniaApp()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user