この記事は OCaml Tips Advent Calendar 2022 の13日目です。
OCaml のログライブラリとして Logs
があります。INFO
や DEBUG
といったレベルごとのロギングが可能です。
使うには、まずインストールして dune
ファイルに記述します。
使うには、まず reporter
とログレベルをセットしたあとに Logs.debug
,
Logs.info
, Logs.err
などを呼び出します。
これらの関数の引数に渡す一引数関数には printf のように振る舞う関数が渡されてくるので、
これをつかってログメッセージを出力します。
デフォルトでは、ログメッセージは stdout に出力されます。
カスタムの reporter を定義することで、
ログメッセージのプレフィクスや、ログの出力先を変更できます。
以下のコードは出力先を stderr に変更しつつ、引数で渡された procname
を
角括弧でくくってプレフィクスとします。