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() .UsePlatformDetect() .With(new Win32PlatformOptions { UseWindowsUIComposition = true }) .LogToTrace() .UseReactiveUI(); } } }