Haskell Language
Logowanie
Szukaj…
Wprowadzenie
Logowanie do Haskell odbywa się zwykle poprzez funkcje w monadzie IO
, a zatem ogranicza się do funkcji nieoczyszczonych lub „akcji IO”.
Istnieje kilka sposobów rejestrowania informacji w programie Haskell: od putStrLn
(lub print
), po biblioteki takie jak hslogger lub poprzez Debug.Trace
.
Logowanie za pomocą hsloggera
Moduł hslogger
zapewnia API podobne do frameworka logging
Pythona i obsługuje hslogger
nazwach hierarchicznych, poziomy i przekierowania do uchwytów poza stdout
i stderr
.
Domyślnie wszystkie wiadomości poziomu WARNING
i wyższe są wysyłane do stderr, a wszystkie pozostałe poziomy dziennika są ignorowane.
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"
Możemy ustawić poziom rejestratora według jego nazwy za pomocą updateGlobalLogger
:
updateGlobalLogger "MyProgram.main" (setLevel DEBUG)
debugM "MyProgram.main" "This will now be seen"
Każdy rejestrator ma nazwę i są one ułożone hierarchicznie, więc MyProgram
jest rodzicem MyParent.Module
.