12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using Avalonia;
- using Avalonia.ReactiveUI;
- using Serilog;
- using Serilog.Events;
- using System;
- using System.Diagnostics;
- using VeloeMinecraftLauncher.MinecraftLauncher;
- namespace VeloeMinecraftLauncher
- {
- internal class Program
- {
- // Initialization code. Don't use any Avalonia, third-party APIs or any
- // SynchronizationContext-reliant code before AppMain is called: things aren't initialized
- // yet and stuff might break.
- [STAThread]
- public static void Main(string[] args) => BuildAvaloniaApp()
- .StartWithClassicDesktopLifetime(args);
- // Avalonia configuration, don't remove; also used by visual designer.
- public static AppBuilder BuildAvaloniaApp()
- {
- Settings.LoadSettings();
- var logger = new Serilog.LoggerConfiguration()
- .MinimumLevel.Debug()
- .WriteTo.File("avalonia.log", Settings.fileLogEventLevel, fileSizeLimitBytes: Settings.MaxLog * 1024, rollOnFileSizeLimit: true)// restricted... is Optional
- .CreateLogger();
-
- Settings.avaloniaLogger = logger;
- TraceListener listener = new SerilogTraceListener.SerilogTraceListener(logger);
- Trace.Listeners.Add(listener);
-
- return AppBuilder.Configure<App>()
- .UsePlatformDetect()
- .With(new Win32PlatformOptions
- {
- UseWindowsUIComposition = true
- })
- .LogToTrace()
- .UseReactiveUI();
- }
- }
- }
|