使用 hslogger 进行日志记录

hslogger 模块为 Python 的 logging 框架提供了类似的 API,并支持分层命名的记录器,级别和重定向到 stdoutstderr 之外的句柄。

默认情况下,WARNING 及更高级别的所有消息都将发送到 stderr,并忽略所有其他日志级别。

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"

每个记录器都有一个名称,它们按层次排列,因此 MyProgramMyParent.Module 的父级。