Skip to content

Commit 942f349

Browse files
authored
enhance: enhance crash logging with detailed system info (#943)
- Enhance crash logging by adding detailed system and process information, including thread name, user, app start time, exception time, and memory usage.
1 parent 8453359 commit 942f349

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/App.axaml.cs

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
using System;
22
using System.Collections.Generic;
3+
using System.Diagnostics;
34
using System.IO;
45
using System.Net.Http;
56
using System.Reflection;
67
using System.Text;
78
using System.Text.Json;
9+
using System.Threading;
810
using System.Threading.Tasks;
911

1012
using Avalonia;
@@ -332,17 +334,16 @@ private static void LogException(Exception ex)
332334
builder.Append($"Crash::: {ex.GetType().FullName}: {ex.Message}\n\n");
333335
builder.Append("----------------------------\n");
334336
builder.Append($"Version: {Assembly.GetExecutingAssembly().GetName().Version}\n");
335-
builder.Append($"OS: {Environment.OSVersion.ToString()}\n");
337+
builder.Append($"OS: {Environment.OSVersion}\n");
336338
builder.Append($"Framework: {AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName}\n");
337339
builder.Append($"Source: {ex.Source}\n");
340+
builder.Append($"Thread Name: {Thread.CurrentThread.Name ?? "Unnamed"}\n");
341+
builder.Append($"User: {Environment.UserName}\n");
342+
builder.Append($"App Start Time: {Process.GetCurrentProcess().StartTime}\n");
343+
builder.Append($"Exception Time: {DateTime.Now}\n");
344+
builder.Append($"Memory Usage: {Process.GetCurrentProcess().PrivateMemorySize64 / 1024 / 1024} MB\n");
338345
builder.Append($"---------------------------\n\n");
339-
builder.Append(ex.StackTrace);
340-
while (ex.InnerException != null)
341-
{
342-
ex = ex.InnerException;
343-
builder.Append($"\n\nInnerException::: {ex.GetType().FullName}: {ex.Message}\n");
344-
builder.Append(ex.StackTrace);
345-
}
346+
builder.Append(ex);
346347

347348
var time = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss");
348349
var file = Path.Combine(Native.OS.DataDir, $"crash_{time}.log");

0 commit comments

Comments
 (0)