Haskell Language
logging
Zoeken…
Invoering
Inloggen op Haskell wordt meestal bereikt via functies in de IO monade en is dus beperkt tot niet-pure functies of "IO-acties".
Er zijn verschillende manieren om informatie in een Haskell-programma te registreren: van putStrLn (of print ) tot bibliotheken zoals hslogger of via Debug.Trace .
Inloggen met hslogger
De hslogger module biedt een vergelijkbare API om Python's logging kader, en ondersteunt hiërarchisch naam houthakkers, niveaus en omleiding naar handvatten buiten stdout en stderr .
Standaard worden alle berichten van niveau WARNING en hoger naar stderr verzonden en worden alle andere logboekniveaus genegeerd.
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"
We kunnen het niveau van een logger op basis van zijn naam instellen met updateGlobalLogger :
updateGlobalLogger "MyProgram.main" (setLevel DEBUG)
debugM "MyProgram.main" "This will now be seen"
Elke logger heeft een naam en ze zijn hiërarchisch gerangschikt, dus MyProgram is een ouder van MyParent.Module .