Haskell Language
логирование
Поиск…
Вступление
Регистрация в 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 .