Log API
ptool.log は ptool.log と p.log の両方で、レベル別の端末ログ ヘルパーを公開します。
各ログ呼び出しは次の形式で 1 行を出力します。
[2026-04-30 14:54:56] INFO message text
動作:
- タイムスタンプはローカル時刻の
YYYY-MM-DD HH:MM:SS形式です。 - レベル名は
TRACE、DEBUG、INFO、WARN、ERROR、FATALの完全表記を使います。 ptoolが端末へ書き込んでいる場合は、自動的に色付き出力になります。ptool.log.error(...)とptool.log.fatal(...)はstderrに書き込み、それ以外のレベルはstdoutに書き込みます。ptool.log.fatal(...)はログ行を出力した直後に、終了ステータス1で現在のptoolプロセスを終了します。- 複数引数は空白で連結されます。文字列以外の値は単一行の inspect 形式で レンダリングされます。
ptool.log.trace
v0.4.0- Introduced.
ptool.log.trace(...)
trace レベルのログ行を書き出します。
ptool.log.debug
v0.4.0- Introduced.
ptool.log.debug(...)
debug レベルのログ行を書き出します。
ptool.log.info
v0.4.0- Introduced.
ptool.log.info(...)
info レベルのログ行を書き出します。
ptool.log.warn
v0.4.0- Introduced.
ptool.log.warn(...)
warn レベルのログ行を書き出します。
ptool.log.error
v0.4.0- Introduced.
ptool.log.error(...)
error レベルのログ行を stderr に書き出します。
ptool.log.fatal
v0.10.0- Introduced.
ptool.log.fatal(...)
stderr に fatal レベルのログ行を書き出し、その後、終了ステータス 1 で現在の ptool プロセスを終了します。
例:
p.log.info("hello", { answer = 42 })
p.log.warn("careful")
p.log.error("boom")
p.log.fatal("goodbye")
出力例:
[2026-04-30 14:54:56] INFO hello { answer = 42 }
[2026-04-30 14:54:56] WARN careful
[2026-04-30 14:54:56] ERROR boom
[2026-04-30 14:54:56] FATAL goodbye