Поиск…


Вступление

Регистрация в Haskell достигается обычно через функции в монаде IO и поэтому ограничена нечистыми функциями или «действиями IO».

Существует несколько способов записи информации в программу Haskell: из putStrLn (или print ) в библиотеки, такие как hslogger или через Debug.Trace .

Регистрация с помощью hslogger

hslogger модуль обеспечивает аналогичный API для Питона logging базы, и поддерживает иерархически имени лесорубов, уровни и перенаправление на ручках вне stdout и stderr .

По умолчанию все сообщения уровня WARNING и выше отправляются в stderr, и все остальные уровни журналов игнорируются.

import           System.Log.Logger (Priority (DEBUG), debugM, infoM, setLevel,
                                    updateGlobalLogger, warningM)

main = do
  debugM "MyProgram.main" "This won't be seen"
  infoM "MyProgram.main" "This won't be seen either"
  warningM "MyProgram.main" "This will be seen"

Мы можем установить уровень регистратора по его имени с помощью updateGlobalLogger :

  updateGlobalLogger "MyProgram.main" (setLevel DEBUG)

  debugM "MyProgram.main" "This will now be seen"

У каждого регистратора есть имя, и они расположены иерархически, поэтому MyProgram является родителем MyParent.Module .



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow