Esempio n. 1
0
        public static async Task <int> Main(string[] args)
        {
            var configuration = BuildConfiguration(args);

            if (DogfeedService.IsInDogfeedMode)
            {
                Log.Logger = LoggerFactory.BuildDogfeedLogger();

                await DogfeedAsync(configuration);

                return(0);
            }
            else
            {
                Log.Logger = LoggerFactory.BuildWebApplicationLogger(configuration);

                try
                {
                    var host = CreateDoggerHostBuilder(configuration, args).Build();
                    await DatabaseMigrator.MigrateDatabaseForHostAsync(host);

                    await host.RunAsync();

                    return(0);
                }
                catch (Exception ex) when(!Debugger.IsAttached)
                {
                    Log.Fatal(ex, "Host terminated unexpectedly");
                    return(1);
                }
                finally
                {
                    Log.CloseAndFlush();
                }
            }
        }