Haskell:
כתיבה לשגיאה התקנית
איך לעשות:
בהאסקל, כתיבה ל-stderr היא פשוטה באמצעות מודול System.IO של הספרייה הבסיסית. להלן דוגמה בסיסית להדגמה:
import System.IO
main :: IO ()
main = do
hPutStrLn stderr "This is an error message."פלט התכנית הזו ל-stderr יהיה:
This is an error message.אם אתה עובד ביישום מורכב יותר, או שאתה זקוק לשליטה טובה יותר על רישום הלוגים (כולל השגיאות), ייתכן שתבחר בספרייה מצד שלישי. בחירה פופולרית היא monad-logger שמשתלבת עם סגנון התכנות של mtl בהאסקל. הנה קטע קטן באמצעות monad-logger:
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Logger
main :: IO ()
main = runStderrLoggingT $ do
logErrorN "This is an error message using monad-logger."כאשר מריצים, גרסת ה-monad-logger מוציאה באופן דומה הודעת שגיאה, אך היא מצוידת ביותר הקשר כמו חותמות זמן או רמות לוג, בהתאם לתצורה:
[Error] This is an error message using monad-logger.שני השיטות משרתות את המטרה של כתיבה ל-stderr, כאשר הבחירה תלויה ברובה במורכבות ובצרכים של היישום שלך.