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.