0

我尝试使用 EF7 编写我的第一个演示。

我已经安装了 Microsoft.Extensions.Logging.Console 1.0.0-rc2-final

登录。

但是当我尝试使用以下代码时:

public static void LogToConsole(this DbContext context)
        {
            var contextServices = ((IInfrastructure<IServiceProvider>) context).Instance;
            var loggerFactory = contextServices.GetRequiredService<ILoggerFactory>();
            loggerFactory.AddConsole(LogLevel.Verbose);
        }

我找不到Verbose枚举!


相反,我得到以下信息:

在此处输入图像描述

有人可以帮我解释发生了什么以及我应该使用哪一个来记录吗?

4

2 回答 2

2

使用LogLevel.Debug. 关卡在 RC2 中被重命名和改组。详情请参阅公告

于 2016-06-20T21:42:57.943 回答
1

早在 12 月,原始日志级别进行了一些更改,以与其他日志记录系统更加一致。作为此更改的一部分,Verbose已重命名为并移至以下Trace严重性。 Debug

至于你应该使用什么日志级别,很大程度上取决于你想要记录什么以及你希望看到什么。请参阅文档中的建议;引用前三个要点:

  1. 使用正确的LogLevel. 这将允许您根据消息的重要性适当地使用和路由日志记录输出。
  2. 记录信息,可以快速识别错误。避免记录不相关或多余的信息。
  3. 在不牺牲重要信息的情况下保持日志消息简洁。

要选择正确的日志级别,您应该首先熟悉它们的含义。从最低严重性到最高严重性排序:

  • Trace – 最详细的消息,可能包含敏感信息。永远不应该在生产中启用。
  • 调试——用于开发过程中可能的交互式调查;对调试有用,但没有真正的长期价值。
  • 信息 - 用于跟踪应用程序的流程。
  • 警告 – 对于应用程序中的不正常(但预期)事件,包括错误和异常,这些事件得到正确处理并且不会影响应用程序的执行(但仍可能是潜在问题的迹象)。
  • 错误——对于导致当前活动失败的真正故障,使应用程序处于可恢复状态,因此其他活动不会受到影响。
  • 严重 – 适用于应用程序级别的故障,导致应用程序处于不可恢复状态并影响进一步执行。

您可以在官方文档和项目的日志记录指南中找到类似的解释。

于 2016-06-20T22:05:13.493 回答