Loglevel中的详细信息并不存在

时间:2016-06-19 14:43:59

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

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

我已安装this page

要记录。

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

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

我无法找到Verbose枚举!

相反,我得到以下内容:

Microsoft.Extensions.Logging.Console 1.0.0-rc2-final

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

2 个答案:

答案 0 :(得分:2)

使用LogLevel.Debug。这些关卡在RC2中被重命名和改组。有关详细信息,请参阅the announcement

答案 1 :(得分:1)

回到12月,原始日志级别were changed a bit与其他日志记录系统更加一致。作为此更改的一部分,Verbose已重命名为Trace,并在严重性下移动 Debug

至于您应该使用的日志级别,这在很大程度上取决于您要记录的内容以及您希望看到的内容。查看documentation中的建议;引用前三个要点:

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

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

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

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