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.