Skriva till standardfel

C#:
Skriva till standardfel

Hur man gör:

I C# kan skrivning till standardfel uppnås genom att använda strömmen Console.Error. Denna ström används specifikt för felmeddelanden och diagnostik. Här är ett grundläggande exempel:

Console.Error.WriteLine("Error: Misslyckades med att bearbeta förfrågan.");

Exempel på utdata (till stderr):

Error: Misslyckades med att bearbeta förfrågan.

För scenarier där du kanske använder ett tredjepartsbibliotek som erbjuder avancerade loggningsmöjligheter, som Serilog eller NLog, kan du konfigurera dessa bibliotek för att skriva felloggar till stderr. Även om dessa exempel fokuserar på enkel konsolomdirigering, kom ihåg att i produktionsapplikationer erbjuder loggningsramverk mycket mer robust felhantering och utdatalternativ. Här är ett enkelt exempel med Serilog:

Först, installera Serilog-paketet och dess Console sink:

Install-Package Serilog
Install-Package Serilog.Sinks.Console

Sedan, konfigurera Serilog för att skriva till stderr:

using Serilog;

Log.Logger = en ny LoggerConfiguration()
    .WriteTo.Console(standardErrorFromLevel: Serilog.Events.LogEventLevel.Error)
    .CreateLogger();

Log.Information("Det här är ett vanligt meddelande.");
Log.Error("Det här är ett felmeddelande.");

Exempel på utdata (till stderr för felmeddelandet):

[15:04:20 ERR] Det här är ett felmeddelande.

Notera: Konfigurationen standardErrorFromLevel i Serilogs console sink omdirigerar alla logghändelser på den angivna nivån (Error, i detta fall) eller högre till standardfelsströmmen, medan meddelanden på lägre nivåer som Information skrivs till standardutströmmen.