@@ -77,6 +77,31 @@ public static AppBuilder BuildAvaloniaApp()
77
77
Native . OS . SetupApp ( builder ) ;
78
78
return builder ;
79
79
}
80
+
81
+ private static void LogException ( Exception ex )
82
+ {
83
+ if ( ex == null )
84
+ return ;
85
+
86
+ var builder = new StringBuilder ( ) ;
87
+ builder . Append ( $ "Crash::: { ex . GetType ( ) . FullName } : { ex . Message } \n \n ") ;
88
+ builder . Append ( "----------------------------\n " ) ;
89
+ builder . Append ( $ "Version: { Assembly . GetExecutingAssembly ( ) . GetName ( ) . Version } \n ") ;
90
+ builder . Append ( $ "OS: { Environment . OSVersion } \n ") ;
91
+ builder . Append ( $ "Framework: { AppDomain . CurrentDomain . SetupInformation . TargetFrameworkName } \n ") ;
92
+ builder . Append ( $ "Source: { ex . Source } \n ") ;
93
+ builder . Append ( $ "Thread Name: { Thread . CurrentThread . Name ?? "Unnamed" } \n ") ;
94
+ builder . Append ( $ "User: { Environment . UserName } \n ") ;
95
+ builder . Append ( $ "App Start Time: { Process . GetCurrentProcess ( ) . StartTime } \n ") ;
96
+ builder . Append ( $ "Exception Time: { DateTime . Now } \n ") ;
97
+ builder . Append ( $ "Memory Usage: { Process . GetCurrentProcess ( ) . PrivateMemorySize64 / 1024 / 1024 } MB\n ") ;
98
+ builder . Append ( $ "---------------------------\n \n ") ;
99
+ builder . Append ( ex ) ;
100
+
101
+ var time = DateTime . Now . ToString ( "yyyy-MM-dd_HH-mm-ss" ) ;
102
+ var file = Path . Combine ( Native . OS . DataDir , $ "crash_{ time } .log") ;
103
+ File . WriteAllText ( file , builder . ToString ( ) ) ;
104
+ }
80
105
#endregion
81
106
82
107
#region Utility Functions
@@ -181,8 +206,8 @@ public static void SetFonts(string defaultFont, string monospaceFont, bool onlyU
181
206
app . _fontsOverrides = null ;
182
207
}
183
208
184
- defaultFont = FixFontFamilyName ( defaultFont ) ;
185
- monospaceFont = FixFontFamilyName ( monospaceFont ) ;
209
+ defaultFont = app . FixFontFamilyName ( defaultFont ) ;
210
+ monospaceFont = app . FixFontFamilyName ( monospaceFont ) ;
186
211
187
212
var resDic = new ResourceDictionary ( ) ;
188
213
if ( ! string . IsNullOrEmpty ( defaultFont ) )
@@ -328,31 +353,6 @@ public override void OnFrameworkInitializationCompleted()
328
353
}
329
354
#endregion
330
355
331
- private static void LogException ( Exception ex )
332
- {
333
- if ( ex == null )
334
- return ;
335
-
336
- var builder = new StringBuilder ( ) ;
337
- builder . Append ( $ "Crash::: { ex . GetType ( ) . FullName } : { ex . Message } \n \n ") ;
338
- builder . Append ( "----------------------------\n " ) ;
339
- builder . Append ( $ "Version: { Assembly . GetExecutingAssembly ( ) . GetName ( ) . Version } \n ") ;
340
- builder . Append ( $ "OS: { Environment . OSVersion } \n ") ;
341
- builder . Append ( $ "Framework: { AppDomain . CurrentDomain . SetupInformation . TargetFrameworkName } \n ") ;
342
- builder . Append ( $ "Source: { ex . Source } \n ") ;
343
- builder . Append ( $ "Thread Name: { Thread . CurrentThread . Name ?? "Unnamed" } \n ") ;
344
- builder . Append ( $ "User: { Environment . UserName } \n ") ;
345
- builder . Append ( $ "App Start Time: { Process . GetCurrentProcess ( ) . StartTime } \n ") ;
346
- builder . Append ( $ "Exception Time: { DateTime . Now } \n ") ;
347
- builder . Append ( $ "Memory Usage: { Process . GetCurrentProcess ( ) . PrivateMemorySize64 / 1024 / 1024 } MB\n ") ;
348
- builder . Append ( $ "---------------------------\n \n ") ;
349
- builder . Append ( ex ) ;
350
-
351
- var time = DateTime . Now . ToString ( "yyyy-MM-dd_HH-mm-ss" ) ;
352
- var file = Path . Combine ( Native . OS . DataDir , $ "crash_{ time } .log") ;
353
- File . WriteAllText ( file , builder . ToString ( ) ) ;
354
- }
355
-
356
356
private static bool TryLaunchAsRebaseTodoEditor ( string [ ] args , out int exitCode )
357
357
{
358
358
exitCode = - 1 ;
@@ -440,24 +440,6 @@ private static bool TryLaunchAsRebaseMessageEditor(string[] args, out int exitCo
440
440
return true ;
441
441
}
442
442
443
- private static string FixFontFamilyName ( string input )
444
- {
445
- if ( string . IsNullOrEmpty ( input ) )
446
- return string . Empty ;
447
-
448
- var parts = input . Split ( ',' ) ;
449
- var trimmed = new List < string > ( ) ;
450
-
451
- foreach ( var part in parts )
452
- {
453
- var t = part . Trim ( ) ;
454
- if ( ! string . IsNullOrEmpty ( t ) )
455
- trimmed . Add ( t ) ;
456
- }
457
-
458
- return trimmed . Count > 0 ? string . Join ( ',' , trimmed ) : string . Empty ;
459
- }
460
-
461
443
private bool TryLaunchAsCoreEditor ( IClassicDesktopStyleApplicationLifetime desktop )
462
444
{
463
445
var args = desktop . Args ;
@@ -567,6 +549,24 @@ private void ShowSelfUpdateResult(object data)
567
549
} ) ;
568
550
}
569
551
552
+ private string FixFontFamilyName ( string input )
553
+ {
554
+ if ( string . IsNullOrEmpty ( input ) )
555
+ return string . Empty ;
556
+
557
+ var parts = input . Split ( ',' ) ;
558
+ var trimmed = new List < string > ( ) ;
559
+
560
+ foreach ( var part in parts )
561
+ {
562
+ var t = part . Trim ( ) ;
563
+ if ( ! string . IsNullOrEmpty ( t ) )
564
+ trimmed . Add ( t ) ;
565
+ }
566
+
567
+ return trimmed . Count > 0 ? string . Join ( ',' , trimmed ) : string . Empty ;
568
+ }
569
+
570
570
private ViewModels . Launcher _launcher = null ;
571
571
private ResourceDictionary _activeLocale = null ;
572
572
private ResourceDictionary _themeOverrides = null ;
0 commit comments