Haskell:
Kirjoittaminen standardivirheeseen
Kuinka:
Haskellissa stderriin kirjoittaminen on suoraviivaista peruskirjaston System.IO-moduulin avulla. Alla on perusesimerkki esittelynä:
import System.IO
main :: IO ()
main = do
hPutStrLn stderr "Tämä on virheilmoitus."Tämän ohjelman tuloste stderriin olisi:
Tämä on virheilmoitus.Jos työskentelet monimutkaisemmassa sovelluksessa tai tarvitset parempaa hallintaa lokitukseen (mukaan lukien virheet), saatat valita kolmannen osapuolen kirjaston. Yksi suosittu vaihtoehto on monad-logger, joka integroituu Haskell-ohjelmoinnin mtl-tyyliin. Tässä on pieni pätkä käyttäen monad-loggeria:
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Logger
main :: IO ()
main = runStderrLoggingT $ do
logErrorN "Tämä on virheilmoitus käyttäen monad-loggeria."Kun ajetaan, monad-logger-versio tuottaa samoin virheilmoituksen, mutta se on varustettu enemmän kontekstilla kuten aikaleimoilla tai lokitasoilla, riippuen konfiguraatiosta:
[Error] Tämä on virheilmoitus käyttäen monad-loggeria.Molemmat menetelmät palvelevat stderriin kirjoittamisen tarkoitusta, ja valinta riippuu suurelta osin sovelluksesi monimutkaisuudesta ja tarpeista.