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 本で通して解説しています。