【问题标题】:Is it possible to get the current LogLevel of an ILogger?是否可以获得 ILogger 的当前 LogLevel?
【发布时间】:2021-06-22 04:42:15
【问题描述】:

我有一个这样定义的组件:

public class MyClass
{
    public MyClass(ILogger<MyClass> logger)
    {
    }
}

不知道使用这个组件的开发者会不会用application.json或者环境变量来配置logger。

有没有办法获取记录器的当前 LogLevel 而不是尝试使用 IsEnabled 方法进行猜测?

【问题讨论】:

    标签: c# asp.net-core-5.0


    【解决方案1】:

    您可以使用以下功能:

    ILogger.IsEnabled(LogLevel)
    

    https://docs.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging.ilogger.isenabled?view=dotnet-plat-ext-5.0#Microsoft_Extensions_Logging_ILogger_IsEnabled_Microsoft_Extensions_Logging_LogLevel_

    因此,您可以直接使用它来检查特定级别,也可以使用 switch case 创建自己的函数并返回在您的上下文中启用的最低级别。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-28
      相关资源
      最近更新 更多