public static void Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() .WriteTo.Console() .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day) .CreateLogger(); var host = CreateHostBuilder(args).Build(); using (var scope = host.Services.CreateScope()) { var service = scope.ServiceProvider; var loggerFactory = service.GetRequiredService <ILoggerFactory>(); try { var myContext = service.GetRequiredService <MyContext>(); MyContextSend.SeedAsync(myContext, loggerFactory).Wait(); } catch (Exception e) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(e, "Error occured seeding the DataBase"); } } host.Run(); }
public static void Main(string[] args) { #region 配置Seailog Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() //最小输出级别 .MinimumLevel.Override("Microsoft", LogEventLevel.Information) //重写,日志输出的最小级别如果是以Microsoft空间开头的,那么输出的最小级别就是Information .Enrich.FromLogContext() .WriteTo.Console() //输出到控制台 .WriteTo.File(Path.Combine("logs", @"log.txt"), rollingInterval: RollingInterval.Day) //输出到文件 .CreateLogger(); #endregion var host = CreateWebHostBuilder(args).Build(); //创建一个作用域 using (var scope = host.Services.CreateScope()) { var service = scope.ServiceProvider; //从容器中获取loggerFactory var loggerFactory = service.GetRequiredService <ILoggerFactory>(); try { var mycontext = service.GetRequiredService <MyDbContext>(); MyContextSend.SendAsync(mycontext, loggerFactory).Wait(); } catch (Exception e) { var logger = loggerFactory.CreateLogger <Program>(); logger.LogError(e, "Error occured on sending The Database "); } } host.Run(); }