Haskell:
Запис до стандартної помилки
Як це зробити:
У Haskell запис у stderr виконується просто за допомогою модуля System.IO базової бібліотеки. Нижче наведено базовий приклад для демонстрації:
import System.IO
main :: IO ()
main = do
hPutStrLn stderr "Це повідомлення про помилку."Вивід цієї програми у stderr буде:
Це повідомлення про помилку.Якщо ви працюєте над більш складною аплікацією або якщо вам потрібний кращий контроль над логуванням (включаючи помилки), ви могли б обрати сторонню бібліотеку. Одним з популярних виборів є monad-logger, який інтегрується зі стилем програмування mtl на Haskell. Ось невеликий фрагмент, який використовує monad-logger:
{-# LANGUAGE OverloadedStrings #-}
import Control.Monad.Logger
main :: IO ()
main = runStderrLoggingT $ do
logErrorN "Це повідомлення про помилку, використовуючи monad-logger."При запуску версія monad-logger аналогічно виводить повідомлення про помилку, але воно оснащене більшим контекстом, як-от часові мітки або рівні логування, залежно від конфігурації:
[Помилка] Це повідомлення про помилку, використовуючи monad-logger.Обидва методи служать для запису в stderr, і вибір в основному залежить від складності та потреб вашої аплікації.