Mat*_*ynn 6 c# nlog entity-framework-core asp.net-core
我对如何使用asp.net core 2和EntityFrameworkCore 2记录生成的SQL以及正确的处理方法感到有些困惑。
从MS docs 阅读此链接后,我应该在startup.csusing 中的服务配置过程中添加.UseLoggerFactory(<LoggerFactory>)。
但是,这似乎已过时,因为当我希望添加记录器时,会收到此消息。
有人可以告诉我添加记录器以记录SQL以便进行调试的最佳方法吗?
我还计划继续使用Nlog进行所有日志记录,而不是使用内置的日志记录工具,我假设这样做的方法(因为注入了Nlog loggerfactory而不是默认的MS实例),所以方法相同或存在配置差异(关于使用NLog)?
首先按照官方文档中的说明注册NLog
然后ILoggerFactory在您的Startup班级中注入一个
private readonly ILoggerFactory _factory;
public Startup(IHostingEnvironment env, ILoggerFactory factory)
{
_factory = factory ?? throw new ArgumentNullException(nameof(factory));
}
Run Code Online (Sandbox Code Playgroud)
最后,将工厂链接为记录器工厂,以用于 DbContext
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<YourContext>(options => { options.UseLoggerFactory(_factory); });
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3431 次 |
| 最近记录: |