using System; using System.IO; using System.Threading.Tasks; using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; using Serilog.Events; using Syc.Authorize.JwtBearer; namespace Syc.Basic.Web.WMS; public class Program { public static async Task Main(string[] args) { string logPath = AppDomain.CurrentDomain.BaseDirectory + "logs/log-.txt"; Log.Logger = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() #else .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File(logPath, rollingInterval: RollingInterval.Day, restrictedToMinimumLevel: LogEventLevel.Information)) .WriteTo.Async(c => c.Console()) .CreateLogger(); try { if (!HslCommunication.Authorization.SetAuthorizationCode("2fb771c7-4c29-445d-bddd-a7b8a75de397")) { Log.Information("HslCommunication active failed"); } Log.Information("Starting Syc.Basic.Web.WMS.HttpApi.Host."); var builder = WebApplication.CreateBuilder(args); builder.Host.AddAppSettingsSecretsJson() .UseAutofac() .UseSerilog(Log.Logger); await builder.AddApplicationAsync(); var app = builder.Build(); await app.InitializeApplicationAsync(); await app.RunAsync(); return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly!"); return 1; } finally { Log.CloseAndFlush(); } } }