You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iot/projects/Platform/Program.cs

53 lines
1.7 KiB

using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Settings.Configuration;
using System;
using System.IO;
using System.Text;
namespace Platform
{
public class Program
{
public static void Main(string[] args)
{
Console.OutputEncoding = Encoding.UTF8;
var config = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT")}.json", optional: true, reloadOnChange: true)
.Build();
Log.Logger = new LoggerConfiguration()
.ReadFrom.Configuration(config, ConfigurationAssemblySource.AlwaysScanDllFiles)
.WriteTo.Console()
//.WriteTo.File("logs/log.txt", rollOnFileSizeLimit: true, fileSizeLimitBytes: 100 * 1024 * 1024, rollingInterval: RollingInterval.Infinite)
.CreateLogger();
try
{
Log.Information("web host start");
WebHost.CreateDefaultBuilder(args)
.UseConfiguration(config)
.UseSerilog()
.UseStartup<Startup>()
.Build()
.Run();
Log.Information("web host end");
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
return;
}
finally
{
Log.CloseAndFlush();
}
}
}
}