Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Loggberikning är en kraftfull funktion som automatiskt bifogar sammanhangsbaserad information till programmets loggar. I stället för att manuellt lägga till metadata i varje logg ger berikning ett systematiskt sätt att automatiskt mata in relevant kontext i hela programmet.
Vad är berikande?
Enrichment utökar telemetriobjekt med ytterligare information som ger värdefull kontext om miljö, programtillstånd och körningskontext när telemetrin genererades. Dessa kontextuella data hjälper till med felsökning, övervakning, prestandaanalys och förståelse av programbeteende i produktionsmiljöer.
Varför är berikning viktigt?
Berikning spelar en viktig roll när det gäller att förbättra observerbarheten och diagnostiken genom att lägga till standardiserad kontextuell information , till exempel processinformation, miljötaggar eller användaridentifierare, till telemetridata. Dessa ytterligare metadata omvandlar rådataloggar till strukturerade, meningsfulla insikter, vilket gör det enklare att spåra problem, korrelera händelser och förbättra programmets tillförlitlighet. Genom att aktivera berikande och konfigurera specifika berikare kan team effektivisera felsökning, optimera prestandaövervakning och säkerställa efterlevnad av driftsstandarder. I slutändan är berikande inte bara ett tekniskt tillägg; Det är en grundläggande metod för att skapa motståndskraftiga, transparenta system som stöder välgrundat beslutsfattande och snabbare incidentlösning.
Så här fungerar berikning
Berikningsramverket fungerar via en samling berikare som är registrerade med containern för beroendeinmatning. När telemetri genereras bidrar alla registrerade berikare automatiskt med sin kontextuella information till telemetrinyttolasten. Man registrerar bara den specifika uppsättningen förbättringsverktyg som man vill ha i en IServiceCollection-instans. Berikarna körs automatiskt utan att kräva ändringar i programkoden. Du konfigurerar bara vilka berikare som du vill använda under programstarten.
Dimensionsnamn och taggar
Berikare lägger till information i telemetri med hjälp av standardiserade dimensionsnamn (kallas även taggar eller nycklar).
Konfigurera berikning
Om du vill använda loggberikning i ditt program måste du:
- Aktivera berikning för loggning.
- Registrera specifika berikare som du vill använda.
- Konfigurera alternativ för varje berikare (valfritt).
Exempel på grundläggande installation
Här är ett enkelt exempel som visar hur du konfigurerar loggberikning med processinformation:
using System.Text.Json;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
var builder = Host.CreateApplicationBuilder(args);
builder.Logging.EnableEnrichment();
builder.Services.AddProcessLogEnricher();
builder.Logging.AddJsonConsole(op =>
{
op.JsonWriterOptions = new JsonWriterOptions
{
Indented = true
};
});
var host = builder.Build();
var logger = host.Services.GetRequiredService<ILogger<Program>>();
logger.LogInformation("This is a sample log message");
await host.RunAsync();
Den här konfigurationen:
- Aktiverar berikning för loggning via
EnableEnrichment(). - Registrerar processloggsberikaren via
AddProcessLogEnricher(). - Konfigurerar JSON-konsolutdata för att visa berikade data.
Utdataexempel
När berikandet är aktiverat innehåller loggutdata automatiskt ytterligare sammanhangsberoende information:
{
"EventId": 0,
"LogLevel": "Information",
"Category": "Enrichment.Program",
"Message": "This is a sample log message",
"State": {
"Message": "This is a sample log message",
"process.pid": "10696",
"{OriginalFormat}": "This is a sample log message"
}
}
Tillgängliga förbättrare
.NET-berikningsramverket innehåller några inbyggda berikare, till exempel:
- Processberikare: Process- och trådinformation
Anpassade berikare
Om de inbyggda berikarna inte uppfyller dina specifika behov kan du skapa anpassade berikare för att lägga till programspecifik kontext. Mer information finns i anpassad berikning.