Files
bgr/src/BGR.Console/Program.cs
T

41 lines
1.2 KiB
C#
Raw Normal View History

2025-02-09 23:22:21 -06:00
Log.Logger = new LoggerConfiguration()
.WriteTo.File(
formatter: new CompactJsonFormatter(),
path: Path.Combine(AppContext.BaseDirectory, "logs", "log.jsonl"),
rollingInterval: RollingInterval.Day
)
.Enrich.FromLogContext()
.MinimumLevel.Verbose()
.MinimumLevel.Override("Microsoft", LogEventLevel.Fatal)
.CreateLogger();
2025-02-06 23:26:58 -06:00
2025-02-09 23:22:21 -06:00
try
{
var appName = Assembly.GetExecutingAssembly().GetName().Name;
Log.Information("Starting {AppName}", appName);
2025-02-06 23:26:58 -06:00
2025-02-09 23:22:21 -06:00
await Host.CreateDefaultBuilder()
.ConfigureLogging(static logging => logging.ClearProviders())
.ConfigureServices(static (_, services) =>
{
services.AddSerilog();
2025-02-13 17:24:38 -06:00
services.AddSingleton(AnsiConsole.Console);
2025-02-09 23:22:21 -06:00
services.AddSingleton<IResourceManager, ResourceManager>();
2025-02-13 17:24:38 -06:00
services.AddSingleton<ImageProcessor, ImageSharpProcessor>();
services.AddSingleton<IInferenceRunner, OnnxInferenceRunner>();
services.AddSingleton<IModelFactory, ModelFactory>();
2025-02-09 23:22:21 -06:00
})
.BuildApp()
.RunAsync(args);
Log.Information("Stopping {AppName}", appName);
}
catch (Exception ex)
{
Log.Fatal(ex, "Application terminated unexpectedly");
throw;
}
finally
{
await Log.CloseAndFlushAsync();
2025-02-14 01:45:35 +00:00
}