Haskell Language
벌채 반출
수색…
소개
하스켈의 로깅은 일반적으로 IO
모나드의 기능을 통해 이루어 지므로 비 순수 함수 또는 "IO 작업"으로 제한됩니다.
에서 : 하스켈 프로그램에 정보를 기록하는 방법에는 여러 가지가 있습니다 putStrLn
(또는 print
), 라이브러리 등 hslogger 또는 통해 Debug.Trace
.
hslogger로 로깅
hslogger
모듈은 Python의 logging
프레임 워크와 비슷한 API를 제공하며 계층 적으로 명명 된 로거, 레벨 및 stdout
및 stderr
외부의 핸들에 대한 리디렉션을 지원합니다.
기본적으로 WARNING
이상의 모든 메시지는 표준 오류로 보내지고 다른 모든 로그 수준은 무시됩니다.
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"
updateGlobalLogger
사용하여 이름으로 로거 수준을 설정할 수 있습니다.
updateGlobalLogger "MyProgram.main" (setLevel DEBUG)
debugM "MyProgram.main" "This will now be seen"
각 로거에는 이름이 있으며 계층 적으로 배열되어 있으므로 MyProgram
은 MyParent.Module
의 부모입니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow