【问题标题】:Verbose in Loglevel doesn't existLoglevel 中的详细信息不存在
【发布时间】:2016-10-20 21:03:57
【问题描述】:

我尝试使用 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 枚举!


相反,我得到以下信息:

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

【问题讨论】:

  • 你想“记录”什么?

标签: c# entity-framework logging entity-framework-core verbose


【解决方案1】:

使用LogLevel.Debug。关卡在 RC2 中被重命名和改组。详情请见the announcement

【讨论】:

    【解决方案2】:

    早在 12 月,原来的日志级别were changed a bit 与其他日志系统更加一致。作为此更改的一部分,Verbose 已重命名为 Trace 并移至严重程度以下 Debug

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

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

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

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

    您可以在offical documentation 和项目的logging guidelines 中找到类似的解释。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 2020-11-05
      • 2012-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多