C#:
Schreiben auf Standardfehler
Wie:
In C# kann das Schreiben auf die Standardfehlerausgabe mittels des Console.Error
-Streams erreicht werden. Dieser Stream wird speziell für Fehlermeldungen und Diagnosen verwendet. Hier ist ein einfaches Beispiel:
Console.Error.WriteLine("Error: Failed to process the request.");
Beispielausgabe (an stderr):
Error: Failed to process the request.
In Szenarien, in denen Sie möglicherweise eine Drittanbieterbibliothek verwenden, die erweiterte Logging-Fähigkeiten bietet, wie Serilog
oder NLog
, können Sie diese Bibliotheken konfigurieren, um Fehlerprotokolle an stderr zu schreiben. Während diese Beispiele sich auf einfache Konsolenumleitungen konzentrieren, denken Sie daran, dass in Produktionsanwendungen Logging-Frameworks viel robustere Fehlerbehandlungs- und Ausgabeoptionen bieten. Hier ist ein einfaches Beispiel mit Serilog
:
Zuerst installieren Sie das Serilog-Paket und dessen Console-Sink:
Install-Package Serilog
Install-Package Serilog.Sinks.Console
Konfigurieren Sie dann Serilog so, dass es auf stderr schreibt:
using Serilog;
Log.Logger = new LoggerConfiguration()
.WriteTo.Console(standardErrorFromLevel: Serilog.Events.LogEventLevel.Error)
.CreateLogger();
Log.Information("Das ist eine normale Nachricht.");
Log.Error("Das ist eine Fehlermeldung.");
Beispielausgabe (an stderr für die Fehlermeldung):
[15:04:20 ERR] Das ist eine Fehlermeldung.
Hinweis: Die Konfiguration standardErrorFromLevel
in Serilogs Konsolen-Sink leitet alle Log-Ereignisse auf der angegebenen Ebene (im diesem Fall Fehler) oder höher zur Standardfehlerausgabe um, während Nachrichten niedrigerer Ebene, wie Informationen, auf die Standardausgabe geschrieben werden.