C#:
Kirjoittaminen standardivirheeseen

Kuinka:

C#:ssa vakiovirheeseen kirjoittamisen voi saavuttaa käyttämällä Console.Error-virtaa. Tätä virtaa käytetään nimenomaan virheviestien ja diagnostiikan varten. Tässä on yksinkertainen esimerkki:

Console.Error.WriteLine("Virhe: Pyyntöä ei voitu käsitellä.");

Esimerkkituloste (stderriin):

Virhe: Pyyntöä ei voitu käsitellä.

Skenaarioissa, joissa saatat käyttää kolmannen osapuolen kirjastoa, joka tarjoaa edistyneitä lokitustoimintoja, kuten Serilog tai NLog, voit määrittää nämä kirjastot kirjoittamaan virhelokit stderriin. Vaikka nämä esimerkit keskittyvät yksinkertaiseen konsolin uudelleenohjaukseen, muista, että tuotantosovelluksissa lokitusrakenteet tarjoavat paljon kestävämpiä virheenkäsittely- ja tulostusvaihtoehtoja. Tässä on yksinkertainen esimerkki Serilog:lla:

Ensimmäiseksi, asenna Serilog-paketti ja sen Console-säilö:

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

Sen jälkeen, määritä Serilog kirjoittamaan stderriin:

using Serilog;

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

Log.Information("Tämä on normaali viesti.");
Log.Error("Tämä on virheviesti.");

Esimerkkituloste (stderrille virheviestille):

[15:04:20 ERR] Tämä on virheviesti.

Huom: standardErrorFromLevel-määritys Serilogin konsolisäilössä ohjaa kaikki lokitapahtumat määritellyllä tasolla (tässä tapauksessa Virhe) tai korkeammalle vakiovirhevuo, kun taas alempitasoiset viestit kuten Tiedot kirjoitetaan vakiotulostevuo.