|
1 | 1 | using System; |
2 | 2 | using System.Collections.Generic; |
| 3 | +using System.Diagnostics; |
3 | 4 | using System.IO; |
4 | 5 | using System.Net.Http; |
5 | 6 | using System.Reflection; |
6 | 7 | using System.Text; |
7 | 8 | using System.Text.Json; |
| 9 | +using System.Threading; |
8 | 10 | using System.Threading.Tasks; |
9 | 11 |
|
10 | 12 | using Avalonia; |
@@ -332,17 +334,16 @@ private static void LogException(Exception ex) |
332 | 334 | builder.Append($"Crash::: {ex.GetType().FullName}: {ex.Message}\n\n"); |
333 | 335 | builder.Append("----------------------------\n"); |
334 | 336 | builder.Append($"Version: {Assembly.GetExecutingAssembly().GetName().Version}\n"); |
335 | | - builder.Append($"OS: {Environment.OSVersion.ToString()}\n"); |
| 337 | + builder.Append($"OS: {Environment.OSVersion}\n"); |
336 | 338 | builder.Append($"Framework: {AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName}\n"); |
337 | 339 | 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"); |
338 | 345 | 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); |
346 | 347 |
|
347 | 348 | var time = DateTime.Now.ToString("yyyy-MM-dd_HH-mm-ss"); |
348 | 349 | var file = Path.Combine(Native.OS.DataDir, $"crash_{time}.log"); |
|
0 commit comments