在 WebAssembly 上登录似乎会忽略低于信息的 LogLevels

问题描述 投票:0回答:1

我正在 Blazor WASM 应用程序中测试 ILoggers,因为我希望在启用调试日志时看到它们。我尝试更改 appsettings 文件来设置默认日志级别,但控制台上似乎只显示信息及以上的日志。

我当前的 appsettings.json 文件如下所示:

{
  "Serilog": {
    "Using": [ "Serilog.Sinks.BrowserConsole" ],
    "WriteTo": [
      { "Name": "BrowserConsole" }
    ],
    "MinimumLevel": {
      "Default": "Debug"
    }
  }
}

这就是我设置记录器的方式:

Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(builder.Configuration)
    .CreateLogger();

在 Index.razor 页面内部,我有一个 foreach,它用于使用不同级别记录各种消息。

foreach (var level in Enum.GetValues(typeof(LogLevel)).Cast<LogLevel>())
{
    Logger.Log(level, level.ToString());
}

使用 Serilog 不是必须的,我什至会选择默认记录器,但我想确定修改文件并降低 LogLevel 我什至会看到其他日志。

我做错了什么?

我已经尝试过:

  • Program.cs 上手动设置最低日志级别;
  • 分离 appsettings 文件并将配置放在 appsettings.Development.json 文件中;
  • 使用 Serilog 而不是默认记录器。
c# logging blazor blazor-webassembly serilog
1个回答
0
投票

就像这样,因为这是医生所说的。

您将无法在 WebAssembly 中看到调试级别日志。这是因为 Blazor WebAssembly 的限制规定:只有信息级别或更高级别的日志才会转发到浏览器的控制台。这样做是为了防止向控制台发送过多的调试信息。

© www.soinside.com 2019 - 2024. All rights reserved.