gpt4 book ai didi

c# - 使用 EF Core 2 和 Nlog 记录生成的 SQL

转载 作者:太空狗 更新时间:2023-10-29 21:42:57 24 4
gpt4 key购买 nike

我对如何使用 asp.net core 2 和 EntityFrameworkCore 2 记录生成的 SQL 以及正确的方法感到有点困惑。

看完这篇link从 MS 文档中可以看出,我应该在 startup.cs 中的服务配置期间添加使用 .UseLoggerFactory(<LoggerFactory>) .

但是,这似乎已经过时了,因为当我想要添加记录器时,我收到了这条消息;

Visual Studio 2017 Message for UseLoggerFactory

有人可以告诉我添加记录器以记录 SQL 以进行调试的最佳方法吗?

我还计划将 Nlog 用于我所有的日志记录而不是内置的日志记录工具,我假设这种方法(注入(inject) Nlog loggerfactory 而不是默认的 MS 实例)是相同的或是否存在任何配置差异(关于使用 NLog)?

最佳答案

首先按照 official docs 中的说明注册 NLog

然后在你的Startup类中注入(inject)一个ILoggerFactory

private readonly ILoggerFactory _factory;
public Startup(IHostingEnvironment env, ILoggerFactory factory)
{
_factory = factory ?? throw new ArgumentNullException(nameof(factory));
}

最后将工厂链接为用于 DbContext 的记录器工厂

public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<YourContext>(options => { options.UseLoggerFactory(_factory); });
}

EF Core 语句现在使用 NLog 记录 enter image description here

关于c# - 使用 EF Core 2 和 Nlog 记录生成的 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49767259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com