Registro de Blazor en ASP.NET Core

Configure el registro personalizado en aplicaciones Blazor WebAssembly con la propiedad WebAssemblyHostBuilder.Logging.

Agregue el espacio de nombres de Microsoft.AspNetCore.Components.WebAssembly.Hosting a Program.cs:

using Microsoft.AspNetCore.Components.WebAssembly.Hosting;

En Program.cs, establezca el nivel de registro mínimo con LoggingBuilderExtensions.SetMinimumLevel y agregue el proveedor de registro personalizado:

var builder = WebAssemblyHostBuilder.CreateDefault(args);
...
builder.Logging.SetMinimumLevel(LogLevel.Debug);
builder.Logging.AddProvider(new CustomLoggingProvider());

La propiedad Logging es del tipo ILoggingBuilder, de modo que todos los métodos de extensión disponibles en ILoggingBuilder también lo están en Logging.

La configuración de registro se puede cargar desde archivos de configuración de la aplicación. Para obtener más información, vea Configuración de Blazor en ASP.NET Core.

Registro Blazor WebAssembly hospedado

Una aplicación Blazor WebAssembly hospedada que preprocesa su contenido ejecuta el código de inicialización de componentes dos veces. El registro tiene lugar en el lado servidor en la primera ejecución del código de inicialización y en el lado cliente en la segunda ejecución del código de inicialización. En función del objetivo de registro durante la inicialización, compruebe los registros en el lado servidor, en el lado cliente o en ambos.

Registro de clientes de SignalR .NET

Inserte un proveedor ILoggerProvider para agregar un registrador WebAssemblyConsoleLogger a los proveedores de registro pasados a HubConnectionBuilder. A diferencia de los registradores ConsoleLogger tradicionales, WebAssemblyConsoleLogger es un contenedor de API de registro específicas de explorador (por ejemplo, console.log). El uso de WebAssemblyConsoleLogger hace posible el registro en Mono dentro de un contexto de explorador.

Nota

WebAssemblyConsoleLogger es interno y no está disponible para el uso directo en el código para desarrolladores.

Agregue el espacio de nombres de Microsoft.Extensions.Logging e inserte un elemento ILoggerProvider en el componente:

@using Microsoft.Extensions.Logging
@inject ILoggerProvider LoggerProvider

En el método OnInitializedAsync del componente, use HubConnectionBuilderExtensions.ConfigureLogging:

var connection = new HubConnectionBuilder()
    .WithUrl(NavigationManager.ToAbsoluteUri("/chathub"))
    .ConfigureLogging(logging => logging.AddProvider(LoggerProvider))
    .Build();

Para obtener instrucciones generales sobre el registro en ASP.NET Core que pertenece a Blazor Server, consulte Registros en .NET Core y ASP.NET Core.

Registro de componente de Razor

Los registradores respetan la configuración de inicio de la aplicación.

La directiva using para Microsoft.Extensions.Logging es necesaria con el fin de permitir las finalizaciones de IntelliSense para las API, como LogWarning y LogError.

En el siguiente ejemplo se muestra el registro con ILogger en componentes.

Pages/Counter.razor:

@page "/counter"
@using Microsoft.Extensions.Logging;
@inject ILogger<Counter> logger;

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        logger.LogWarning("Someone has clicked me!");

        currentCount++;
    }
}

En el siguiente ejemplo se muestra el registro con ILoggerFactory en componentes.

Pages/Counter.razor:

@page "/counter"
@using Microsoft.Extensions.Logging;
@inject ILoggerFactory LoggerFactory

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        var logger = LoggerFactory.CreateLogger<Counter>();
        logger.LogWarning("Someone has clicked me!");

        currentCount++;
    }
}

Recursos adicionales

Configure el registro personalizado en aplicaciones Blazor WebAssembly con la propiedad WebAssemblyHostBuilder.Logging.

Agregue el espacio de nombres de Microsoft.AspNetCore.Components.WebAssembly.Hosting a Program.cs:

using Microsoft.AspNetCore.Components.WebAssembly.Hosting;

En Program.cs, establezca el nivel de registro mínimo con LoggingBuilderExtensions.SetMinimumLevel y agregue el proveedor de registro personalizado:

var builder = WebAssemblyHostBuilder.CreateDefault(args);
...
builder.Logging.SetMinimumLevel(LogLevel.Debug);
builder.Logging.AddProvider(new CustomLoggingProvider());

La propiedad Logging es del tipo ILoggingBuilder, de modo que todos los métodos de extensión disponibles en ILoggingBuilder también lo están en Logging.

La configuración de registro se puede cargar desde archivos de configuración de la aplicación. Para obtener más información, vea Configuración de Blazor en ASP.NET Core.

Registro Blazor WebAssembly hospedado

Una aplicación Blazor WebAssembly hospedada que preprocesa su contenido ejecuta el código de inicialización de componentes dos veces. El registro tiene lugar en el lado servidor en la primera ejecución del código de inicialización y en el lado cliente en la segunda ejecución del código de inicialización. En función del objetivo de registro durante la inicialización, compruebe los registros en el lado servidor, en el lado cliente o en ambos.

Registro de clientes de SignalR .NET

Inserte un proveedor ILoggerProvider para agregar un registrador WebAssemblyConsoleLogger a los proveedores de registro pasados a HubConnectionBuilder. A diferencia de los registradores ConsoleLogger tradicionales, WebAssemblyConsoleLogger es un contenedor de API de registro específicas de explorador (por ejemplo, console.log). El uso de WebAssemblyConsoleLogger hace posible el registro en Mono dentro de un contexto de explorador.

Nota

WebAssemblyConsoleLogger es interno y no está disponible para el uso directo en el código para desarrolladores.

Agregue el espacio de nombres de Microsoft.Extensions.Logging e inserte un elemento ILoggerProvider en el componente:

@using Microsoft.Extensions.Logging
@inject ILoggerProvider LoggerProvider

En el método OnInitializedAsync del componente, use HubConnectionBuilderExtensions.ConfigureLogging:

var connection = new HubConnectionBuilder()
    .WithUrl(NavigationManager.ToAbsoluteUri("/chathub"))
    .ConfigureLogging(logging => logging.AddProvider(LoggerProvider))
    .Build();

Para obtener instrucciones generales sobre el registro en ASP.NET Core que pertenece a Blazor Server, consulte Registros en .NET Core y ASP.NET Core.

Registro de componente de Razor

Los registradores respetan la configuración de inicio de la aplicación.

La directiva using para Microsoft.Extensions.Logging es necesaria con el fin de permitir las finalizaciones de IntelliSense para las API, como LogWarning y LogError.

En el siguiente ejemplo se muestra el registro con ILogger en componentes.

Pages/Counter.razor:

@page "/counter"
@using Microsoft.Extensions.Logging;
@inject ILogger<Counter> logger;

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        logger.LogWarning("Someone has clicked me!");

        currentCount++;
    }
}

En el siguiente ejemplo se muestra el registro con ILoggerFactory en componentes.

Pages/Counter.razor:

@page "/counter"
@using Microsoft.Extensions.Logging;
@inject ILoggerFactory LoggerFactory

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        var logger = LoggerFactory.CreateLogger<Counter>();
        logger.LogWarning("Someone has clicked me!");

        currentCount++;
    }
}

Recursos adicionales

Configure el registro personalizado en aplicaciones Blazor WebAssembly con la propiedad WebAssemblyHostBuilder.Logging.

Agregue el espacio de nombres de Microsoft.AspNetCore.Components.WebAssembly.Hosting a Program.cs:

using Microsoft.AspNetCore.Components.WebAssembly.Hosting;

En Program.cs, establezca el nivel de registro mínimo con LoggingBuilderExtensions.SetMinimumLevel y agregue el proveedor de registro personalizado:

var builder = WebAssemblyHostBuilder.CreateDefault(args);
...
builder.Logging.SetMinimumLevel(LogLevel.Debug);
builder.Logging.AddProvider(new CustomLoggingProvider());

La propiedad Logging es del tipo ILoggingBuilder, de modo que todos los métodos de extensión disponibles en ILoggingBuilder también lo están en Logging.

La configuración de registro se puede cargar desde archivos de configuración de la aplicación. Para obtener más información, vea Configuración de Blazor en ASP.NET Core.

Registro Blazor WebAssembly hospedado

Una aplicación Blazor WebAssembly hospedada que preprocesa su contenido ejecuta el código de inicialización de componentes dos veces. El registro tiene lugar en el lado servidor en la primera ejecución del código de inicialización y en el lado cliente en la segunda ejecución del código de inicialización. En función del objetivo de registro durante la inicialización, compruebe los registros en el lado servidor, en el lado cliente o en ambos.

Registro de clientes de SignalR .NET

Inserte un proveedor ILoggerProvider para agregar un registrador WebAssemblyConsoleLogger a los proveedores de registro pasados a HubConnectionBuilder. A diferencia de los registradores ConsoleLogger tradicionales, WebAssemblyConsoleLogger es un contenedor de API de registro específicas de explorador (por ejemplo, console.log). El uso de WebAssemblyConsoleLogger hace posible el registro en Mono dentro de un contexto de explorador.

Nota

WebAssemblyConsoleLogger es interno y no está disponible para el uso directo en el código para desarrolladores.

Agregue el espacio de nombres de Microsoft.Extensions.Logging e inserte un elemento ILoggerProvider en el componente:

@using Microsoft.Extensions.Logging
@inject ILoggerProvider LoggerProvider

En el método OnInitializedAsync del componente, use HubConnectionBuilderExtensions.ConfigureLogging:

var connection = new HubConnectionBuilder()
    .WithUrl(NavigationManager.ToAbsoluteUri("/chathub"))
    .ConfigureLogging(logging => logging.AddProvider(LoggerProvider))
    .Build();

Para obtener instrucciones generales sobre el registro en ASP.NET Core que pertenece a Blazor Server, consulte Registros en .NET Core y ASP.NET Core.

Registro de componente de Razor

Los registradores respetan la configuración de inicio de la aplicación.

La directiva using para Microsoft.Extensions.Logging es necesaria con el fin de permitir las finalizaciones de IntelliSense para las API, como LogWarning y LogError.

En el siguiente ejemplo se muestra el registro con ILogger en componentes.

Pages/Counter.razor:

@page "/counter"
@using Microsoft.Extensions.Logging;
@inject ILogger<Counter> logger;

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        logger.LogWarning("Someone has clicked me!");

        currentCount++;
    }
}

En el siguiente ejemplo se muestra el registro con ILoggerFactory en componentes.

Pages/Counter.razor:

@page "/counter"
@using Microsoft.Extensions.Logging;
@inject ILoggerFactory LoggerFactory

<h1>Counter</h1>

<p>Current count: @currentCount</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
    private int currentCount = 0;

    private void IncrementCount()
    {
        var logger = LoggerFactory.CreateLogger<Counter>();
        logger.LogWarning("Someone has clicked me!");

        currentCount++;
    }
}

Recursos adicionales