サーチ…


前書き

ハスケルのログインは、通常、 IOモナドの関数によって実現されるため、非純粋な関数や「IOアクション」に限定されます。

:Haskellのプログラムに情報を記録するには、いくつかの方法がありますputStrLn (またはprint )、のようなライブラリへのhsloggerまたは貫通Debug.Trace

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親です。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow