Laqus.Logs
1.0.2
dotnet add package Laqus.Logs --version 1.0.2
NuGet\Install-Package Laqus.Logs -Version 1.0.2
<PackageReference Include="Laqus.Logs" Version="1.0.2" />
<PackageVersion Include="Laqus.Logs" Version="1.0.2" />
<PackageReference Include="Laqus.Logs" />
paket add Laqus.Logs --version 1.0.2
#r "nuget: Laqus.Logs, 1.0.2"
#:package Laqus.Logs@1.0.2
#addin nuget:?package=Laqus.Logs&version=1.0.2
#tool nuget:?package=Laqus.Logs&version=1.0.2
Laqus.Logs
Instalação
dotnet add package Laqus.Logs
Uso
A lib oferece duas formas de log em formato json, um log que implementa a interface ILogger e foi criado para ser injetado via provider e usado pelos logs de sistema e outro que tem o proposito de ser injetado e usado pelo codigo da aplicação.
Para cadastrar os dois logs, inclua esse trecho no Program.cs:
using Laqus.Logs;
//...
builder.Logging.ClearProviders();
builder.Services.AddSingleton<ILoggerProvider, LaqusLoggerProvider>();
builder.Services.AddSingleton(typeof(LaqusLogger<>), typeof(LaqusLogger<>));
E dependa da interface dentro dos serviços:
using Laqus.Logs;
//...
public class CheckoutService : BaseService
{
private readonly LaqusLogger<CheckoutService> logger;
public CheckoutService(LaqusLogger<CheckoutService> logger)
{
this.logger = logger;
}
public async void Execute(string id, User user) {
this.logger.Debug("Processing checkout", DefaultLaqusLogBuilder
.Build()
.WithCorrelationId(id)
.WithSubject(user)
.WithObscuredFields(new() { "email" })
);
//...
this.logger.Info("Checkout Processed", DefaultLaqusLogBuilder
.Build()
.WithCorrelationId(id)
.WithSubject(new { userId = user.id, orderId = order.id })
);
//...
}
}
Alêm do uso do DefaultLaqusLogBuilder, também é possivel gerar logs nos seguintes formatos:
Mensagem simples:
this.logger.Debug("Meu log");
Logando um erro:
this.logger.Warn("Timeout na requisicao", err)
Implementando a interface ILaqusLog:
public class OnGetLog : ILaqusLog {
//...
}
public void OnGet()
{
this._logger.Info("New log", new OnGetLog( ... ))
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Microsoft.Extensions.Configuration (>= 8.0.0)
- Microsoft.Extensions.Configuration.Binder (>= 8.0.1)
- Microsoft.Extensions.Logging (>= 8.0.0)
- Newtonsoft.Json (>= 13.0.3)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Laqus.Logs:
| Package | Downloads |
|---|---|
|
Laqus.Auth
Package Description |
GitHub repositories
This package is not used by any popular GitHub repositories.