Program.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. using System;
  2. using System.Linq;
  3. using Avalonia;
  4. using Avalonia.Controls;
  5. using Avalonia.Gtk3;
  6. using Avalonia.Logging.Serilog;
  7. using Avalonia.Platform;
  8. using Serilog;
  9. namespace ControlCatalog
  10. {
  11. internal class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. InitializeLogging();
  16. // TODO: Make this work with GTK/Skia/Cairo depending on command-line args
  17. // again.
  18. AppBuilder.Configure<App>()
  19. .UseSkia()
  20. .UseGtk3()
  21. .Start<MainWindow>();
  22. }
  23. // This will be made into a runtime configuration extension soon!
  24. private static void InitializeLogging()
  25. {
  26. #if DEBUG
  27. SerilogLogger.Initialize(new LoggerConfiguration()
  28. .MinimumLevel.Warning()
  29. .WriteTo.Trace(outputTemplate: "{Area}: {Message}")
  30. .CreateLogger());
  31. #endif
  32. }
  33. private static void ConfigureAssetAssembly(AppBuilder builder)
  34. {
  35. AvaloniaLocator.CurrentMutable
  36. .GetService<IAssetLoader>()
  37. .SetDefaultAssembly(typeof(App).Assembly);
  38. }
  39. }
  40. }