我尝试使用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
有人可以帮助我解释发生了什么以及我应该使用哪一个来记录?
答案 0 :(得分:2)
使用LogLevel.Debug
。这些关卡在RC2中被重命名和改组。有关详细信息,请参阅the announcement。
答案 1 :(得分:1)
回到12月,原始日志级别were changed a bit与其他日志记录系统更加一致。作为此更改的一部分,Verbose
已重命名为Trace
,并在严重性下移动 Debug
。
至于您应该使用的日志级别,这在很大程度上取决于您要记录的内容以及您希望看到的内容。查看documentation中的建议;引用前三个要点:
- 使用正确的
LogLevel
进行记录。这将允许您根据消息的重要性适当地使用和路由日志记录输出。- 记录可以快速识别错误的信息。避免记录不相关或冗余的信息。
- 在不牺牲重要信息的情况下保持日志消息简洁。
醇>
要选择正确的日志级别,首先应该熟悉它们的含义。从最低严重程度到最高严重程序订购:
您可以在offical documentation和项目的logging guidelines中找到类似的解释。