ApexTrace

自動プレフィックスの構造化ログと、テストでの経路アサーション。Apex Stem の Usecase 層を支える、軽量なライフサイクルトレーサーです。

What ApexTrace Gives You

小さなライブラリ、2 つのこと

ボイラープレートなしの構造化ログ

Usecase の instance field として Trace.of('処理名') を 1 回宣言するだけで、 t.start() / t.log(...) / t.skip(...) / t.finish(...) が出力するログに処理名が自動でプレフィックスされ、開始 / 終了の境界ログも自動で出ます。散らかった System.debug を、構造化された形に置き換える仕組みです。

どの経路を通ったかをテストで検証する

TraceFlow.isLastFinish() / isLastSkip() / isLastAbort() で、Usecase が どの終了経路で抜けたかをテストで検証できます。invoke() の戻り値が void でも、副作用と制御フローの 2 軸で挙動を縛れます。

ApexTrace は意図的に小さく作られています。Apex Stem を構成する 4 つの OSS のひとつで、ApexEloquent / ApexBlueprint / ApexTools と並びます。

Ready to dive in?

開発者ガイドでは、4 つのライフサイクルメソッド、TraceFlow、ネスト、2 つの実行モードを 1 本で通して解説しています。