logging - Blazor WebAssembly 日志记录不遵守 SetMinimumLevel
问题描述
我有一个直接从模板创建的 Blazor WebAssembly 应用程序,并且我添加了Blazor WebAssembly 日志中所述的日志记录过程
我在我的类 Program 方法 Main 中添加了行 builder.Logging.SetMinimumLevel
public class Program
{
const string serverHttpClientName = "GoodSales.ServerAccessApi";
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
IConfiguration configuration = builder.Configuration;
// JMA: Configure logging
builder.Logging.SetMinimumLevel(LogLevel.Debug);
注意:我没有添加特定的记录器,因为导航器控制台日志对我来说已经足够了。
然后,我在我的剃须刀组件中添加了日志记录
@using Microsoft.AspNetCore.SignalR.Client
@using GoodSales.Services
@inject NavigationManager NavigationManager
@using Microsoft.Extensions.Logging;
@inject ILogger<NavMenu> logger;
@inject ILoggerProvider LoggerProvider
并在初始化方法中添加了测试线
protected override async Task OnInitializedAsync()
{
logger.LogDebug("LogDebug test");
logger.LogInformation("LogInformation test");
logger.LogWarning("LogWarning test");
但是,在导航器控制台中,我只看到 LogInformation 和 LogWarning,但看不到 LogDebug。
我错过了什么?
解决方案
您可以尝试使用这个Nuget 包在我的项目中,它也会在正确配置时记录调试消息。它总是有效的,因为使用Console.WriteLine()
See docs。
using Blazor.WebAssembly.Logging.Console;
...
builder.Logging.AddBrowserConsole()
.SetMinimumLevel(LogLevel.Debug) //Setting LogLevel is optional
.AddFilter("Microsoft", LogLevel.Information); //System logs can be filtered.
注意:在 .NET 5 Blazor Web Assembly 应用程序(不在服务器端)中,如果您使用标准日志记录,它将自动登录到浏览器控制台。但是,您的浏览器可能会过滤掉一些日志。这意味着如果您不启用“详细/详细”日志记录可能不会看到Debug
和Trace
记录。检查您的设置。
上述所有内容仅适用于 Blazor Web Assembly(客户端)应用程序。如果您想从 Blazor 服务器托管的应用程序登录到浏览器控制台,则只能使用 3rd 方工具。使用这个 Nuget 包,它会做“魔法”。它的工作原理是通过 SignalR 通道从您的服务器发送日志到用户的浏览器并登录到控制台。由于它需要一些复杂的设置,建议遵循这个详细的文档。
推荐阅读
- bash - 使用 bash、jq、sed 解析运动数据
- python - Where are application errors logs?
- python - twisted CRITICAL: Unhandled error in Deferred:
- python - AWS Elastic Beanstalk Using Python 2 and Python 3 in error?
- python-3.x - 我在尝试创建 for in 循环时收到 FileNotFoundError
- python - 什么是 PEP:在 pycharm 的这段代码中,预计 2 个空行发现 1 个
- c# - 如果调用者作为 Windows 服务运行,则包含 messagebox.show 的函数无法弹出
- r - 如何根据 R 中的特征名称将一个空间数据集子集为多个空间数据集
- css - Chrome 77 LayoutNG 打破了我的浮动布局
- apache-nifi - Apache Nifi 在 for 循环中执行任务