技术思绪摘录旅行笔记
在日常开发中,我们会需要看到我们逻辑执行查询的sql,来判断我们的逻辑是否正确,曾经只能打日志,不是很方便,现在.NET Core平台下,提供了很多配置,让我们很方便就能看到Sql日志

首先你得用Host的方式运行你的程序,我们可以修改launchSettings.json

删除IIS Express节点,保留宿主方式运行的配置,当然也可以直接选择宿主方式启动即可。

image.png

首先修改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参数不显示成问号,直接显示能看到的参数。

image.png

我们只需要把Sql里面的SqlParameters替换一下就可以直接执行了

CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

站点统计

总文章数:275 总分类数:18 总评论数:88 总浏览数:124.93万

精选推荐

阅读排行

友情打赏

请打开您的微信,扫一扫