Haskell Language
Skogsavverkning
Sök…
Introduktion
Inloggning i Haskell uppnås vanligtvis genom funktioner i IO monaden, och är därför begränsad till icke-rena funktioner eller "IO-åtgärder".
Det finns flera sätt att logga in information i ett Haskell-program: från putStrLn (eller print ), till bibliotek som hslogger eller via Debug.Trace .
Loggar med hslogger
hslogger modulen tillhandahåller ett liknande API som Pythons logging och stöder hierarkiskt namngivna loggare, nivåer och omdirigering till handtag utanför stdout och stderr .
Som standard skickas alla meddelanden på nivå WARNING och WARNING till stderr och alla andra loggnivåer ignoreras.
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"
Vi kan ställa in nivån på en logger med dess namn med updateGlobalLogger :
updateGlobalLogger "MyProgram.main" (setLevel DEBUG)
debugM "MyProgram.main" "This will now be seen"
Varje loggare har ett namn, och de är ordnade hierarkiskt, så MyProgram är en förälder till MyParent.Module .