Blazor - Usando o Serilog
Hoje veremos como usar o Serilog em uma aplicação Blazor Server usando o VS 2019 Community. |
Eu já apresentei o Serilog neste artigo: C# - Usando o Serilog - Macoratti e hoje veremos como usar o Serilog em um projeto Blazor do lado do servidor.
Para usar os recursos do Serilog no Blazor precisamos instalar o pacote Serilog.AspNetCore no projeto.
Assim vamos criar um projeto Blazor Server padrão que possui os seguintes recursos:
Recursos usados:
Criando o projeto Blazor no VS Community 2019
Abra o VS 2019 Community (versão mínima 16.4.x) e selecione a opção Create a New Project;
A seguir selecione a opção Blazor app e clique em next;
Informe o nome do projeto : Blazor_Serilog, a localização e clique em Create;
Basta selecionar o template e clicar no botão Create.
A seguir vamos incluir a biblioteca Serilog no projeto via Nuget:
Agora precisamos definir a configuração do Serilog no projeto e para isso
precisamos configurar o sink ou coletor invocando o
método WriteTo.File na configuração do criador de
logs no método Main da classe
Program.
A seguir precisamos definir o fornecimento do log Serilog usando o método : UseSerilog da classe SerilogHostBuilderExtensions.
Abaixo temos o código que configura o Serilog no projeto Blazor padrão criado para exemplo:
A seguir já podemos testar e para isso vamos incluir o código para registro de
log no método IncrementCount do componente
Counter.razor do projeto padrão:
Podemos executar o projeto e após acionar o componente Counter e clicar algumas vezes no botão, ao abrir o arquivo log.txt na pasta c:\logs iremos obter o resultado abaixo:
O Serilog fornece vários métodos de extensão para registrar dados e o framework Serilog registra os dados de log em arquivo se o nível de log do método da extensão for maior que o nível mínimo de log.
O valor padrão do nível mínimo de log é "Verbose", e, se não especificarmos o nível mínimo de log, o Serilog usará o nível de log padrão e registrará todos os dados.
Podemos ainda definir outras configurações como o intervalo de rolage, o formato do arquivo texto, o caminho do arquivo, o nível mínimo de log, etc.
O Serilog nos permite fazer a configuração do log, como definir o intervalo de rolagem, o formato do arquivo de texto, o caminho do arquivo, o nível mínimo de log, etc., e, para isso podemos usar o método WriteTo.File.
Abaixo temos um exemplo usando outras definições de configuração:
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Core;
using System;
namespace Blazor_Serilog
{
public class Program
{
public static void Main(string[] args)
{
var levelSwitch = new LoggingLevelSwitch();
Log.Logger = new LoggerConfiguration()
.MinimumLevel.ControlledBy(levelSwitch)
.Enrich.WithProperty("InstanceId", Guid.NewGuid().ToString("n"))
.WriteTo.File(@"C:\logs\log.txt")
.CreateLogger();
Log.Information("Iniciando o Serilog...");
try
{
CreateHostBuilder(args).Build().Run();
}
catch (Exception ex)
{
Log.Fatal(ex, "Ocorreu um erro durante a criação do host WASM");
throw;
}
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSerilog()
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
}
}
|
Executando novamente o projeto e após fazer alguns testes ao abrir o arquivo log.txt teremos o resultado a seguir:
Com isso fiz uma introdução bem básica sobre como usar o Serilog no Blazor. Voltaremos ao assunto em outros artigos.
Pegue o projeto aqui: Blazor_Serilog.zip (sem as referências)
Porque a lei foi dada por Moisés; a
graça e a verdade vieram por Jesus Cristo.
Deus nunca foi visto por alguém. O Filho unigênito, que está no seio do Pai,
esse o revelou.
João 1:17,18
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
ASP .NET Core 2 - MiniCurso Básico - Macoratti
ASP .NET Core MVC - CRUD básico com ADO .NET - Macoratti
ASP .NET Core - Implementando a segurança com ... - Macoratti
ASP .NET Core - Iniciando com ASP .NET Core MVC e ... - Macoratti
ASP .NET Core MVC - Criando um site com MySql e EF ... - Macoratti
ASP .NET Core - Gerenciador de Despesas Pessoais com ... - Macoratti
Minicurso ASP .NET Core 2.0 - Apresentando MVC - YouTube
ASP .NET Core - Configurando o ambiente de ... - Macoratti
ASP .NET Core e EF Core - Configurando o ambiente - Macoratti
ASP .NET Core - Como configurar o AutoMapper - Macoratti