首先你得用Host的方式运行你的程序,我们可以修改launchSettings.json
删除IIS Express节点,保留宿主方式运行的配置,当然也可以直接选择宿主方式启动即可。
首先修改Program.cs文件
public class Program { public static int Main(string[] args) { Log.Logger = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() #else .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() .WriteTo.Async(c => c.Console()) .WriteTo.File(Path.Combine(Directory.GetCurrentDirectory(), $"logs\\{DateTime.Now:yyyyMMdd}.txt")) .CreateLogger(); try { Log.Information("Starting Benchint.Libra.DataReport.HttpApi.Host."); CreateHostBuilder(args).Build().Run(); return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly!"); return 1; } finally { Log.CloseAndFlush(); } } internal static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }) .UseAutofac() .UseSerilog(); }
其中,这句最重要
.MinimumLevel.Override("Microsoft", LogEventLevel.Information)
我们还需要重写DbContext文件的OnConfiguring方法
#if DEBUG /// <summary> ///OnConfiguring /// </summary> protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.EnableSensitiveDataLogging(); } #endif
这句的作用是让Sql参数不显示成问号,直接显示能看到的参数。
我们只需要把Sql里面的SqlParameters替换一下就可以直接执行了
留下您的脚步
最近评论