asp.net 配置自定义ILogger的日志级别< T>

cngwdvgl  于 2023-01-14  发布在  .NET
关注(0)|答案(1)|浏览(158)

我正在尝试通过配置来配置一个自定义ILogger<T>的日志级别。这容易实现吗?我想限制这个特定处理程序的日志记录,而不涉及任何常规设置。
在我的自定义案例中,我将一个ILogger<DataHandledLoggingHandler>注入到我的类中,并希望在某些环境中禁用它。我假设应该工作的是添加一个键“DataHandledLoggingHandler”到appsettings.json的Logging.LogLevel节,例如“None”。但是,我仍然在日志接收器中看到警告。我的appsetting.Development.json看起来像这样:

{
  "Logging": {
    "LogLevel": {
        "Default": "Information",
        "Microsoft.AspNetCore": "Warning",
        "DataHandledLoggingHandler": "None",
    }
 ...

我还尝试了包括名称空间在内的完全限定名称,但仍然没有成功,日志记录仍在进行。
我现在确实使用Serilog和Seq以及控制台接收器,但是通过Serilog.Extensions.Logging包将它连接到ILogger

vngu2lb8

vngu2lb81#

首先,在Serilog的LogEventLevel枚举中没有None选项。尝试使用Fatal进行测试。还尝试为DataHandledLoggingHandler指定完全限定的名称(即使用完整的名称空间-SomeThing.Something1....DataHandledLoggingHandler)。
如果这样做有效,但Fatal还不够,那么您需要通过代码-see this answer进行设置。

相关问题