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, і вибір в основному залежить від складності та потреб вашої аплікації.