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 .



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow