c# - 如何使用 NLog 记录所有 EF 查询
问题描述
我需要在我的项目中记录所有查询并首先使用它:
public static readonly LoggerFactory MyLoggerFactory = new LoggerFactory(new[]
{
new ConsoleLoggerProvider((category, level)
=> category == DbLoggerCategory.Database.Command.Name
&& level == LogLevel.Information, true)
});
但ConsoleLoggerProvider
将在未来的版本中删除,所以我需要改用 NLogConsoleLoggerProvider
并且不知道该怎么做。
解决方案
由于这是 EF Core,因此您可以为此使用NLog.Extensions.Logging或NLog.Web.AspNetCore,因为 Microsoft 已经将查询写入ILogger
.
然后您可以将查询发送到控制台、数据库等,只需配置 nlog.config 文件。
查看:
- 控制台或单元测试:NLog:.NET Core 2 控制台应用程序入门
- ASP.NET Core 2:NLog:ASP.NET Core 2 入门
推荐阅读
- python - 通过 opencv 运行 Tensorflow frozen_graph 失败,在函数“computeShapeByReshapeMask”中用 -1 表示暗淡
- r - 在 ggplot2 中的 geom_segment 旁边添加文本
- php - Symfony 静态/全局 Logger 与学说访问
- erlang - 如何从 Erlang 通用测试套件登录到 stdout 或 stderr?
- bash - 如何在别名末尾使用 bash 别名?
- julia - 根据条件将向量拆分为子向量的 Julia 惯用方法
- laravel - 我在哪里可以找到 Plesk 服务器上的 .crt 和 .key 文件
- javascript - JavaScript LocaleDateString 返回日期对象
- node.js - 使用 node.js 中的命名空间从响应 XML 访问属性
- project - 项目不能依赖工作空间包 - 螺栓