Haskell Language
Explotación florestal
Buscar..
Introducción
El registro en Haskell se logra generalmente a través de funciones en la mónada IO
, y así se limita a funciones no puras o "acciones IO".
Hay varias formas de registrar información en un programa Haskell: desde putStrLn
(o print
), hasta bibliotecas como hslogger o Debug.Trace
.
Registro con hslogger
El módulo hslogger
proporciona una API similar a la estructura de logging
de Python, y admite registradores, niveles y redirección jerárquicamente a los manejadores fuera de stdout
y stderr
.
De forma predeterminada, todos los mensajes de nivel WARNING
y superiores se envían a stderr y todos los demás niveles de registro se ignoran.
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"
Podemos establecer el nivel de un registrador por su nombre usando updateGlobalLogger
:
updateGlobalLogger "MyProgram.main" (setLevel DEBUG)
debugM "MyProgram.main" "This will now be seen"
Cada registrador tiene un nombre y están ordenados jerárquicamente, por lo que MyProgram
es un padre de MyParent.Module
.