Contents
前書き
ここでは、ログの確認方法から遡行するかたちでDebug方法を分類する
ApexのDebug方法一覧
- Developer Console上でのExecution Logの確認
- SF上でのDebug Logの確認
- VS Code上でのDebug Logの確認
手法1:Developer Console上でのExecution Logの確認
◾️概要
Developer Consoleを開いた状態でトランザクションを実行した場合、実行ログを一覧から確認することができる。
◾️事前設定
- Devloper ConsoleのDebug > Perspective ManagerでPerspectiveをAnalysisなどに変更し、Log Inspecterの機能が利用できるようにする
- Debug > Change Log Levels > General Trace Settings for YouからDebugLevelを変更する
◾️操作手順
- 任意の方法でメソッドを実行
- SF上での操作
- 匿名実行 on Dev Console
- テスト実行 on Dev Console
- VS Code上での操作
- 匿名実行 on VS Code
- テスト実行 on VS Code
- SF上での操作
- Dev ConsoleのLog一覧から実行ログを確認する(ファイルサイズが原因で省略が発生している場合は、右クリックでRaw Logを直接確認する)
手法2:SF上でのDebug Logの確認
◾️概要
ユーザ(やクラスやトリガー)に追跡フラグを付けることで、Debug Logを記録することができる。
◾️操作手順
- 以下のいずれの場所から追跡フラグを新規追加する
- Debug > Change Log Levels > Class and Trigger Trace Overrides / User Tracing for All Usersから追跡フラグをadd
- 設定 > デバッグログからユーザ追跡フラグを新規追加
- 設定 > デバッグログからデバッグログをダウンロードする
手法3:VS Code上でのDebug Logの確認
◾️概要
Apex Repley Debuggerの利用により、VS Code上で①追跡フラグの有効化②ブレークポイントの追加③デバッグログの確認などを行うことができる。
これにより「デバッグの実行→ログの確認」をVS Code内で完結させることができるようになる。
◾️操作手順(デバッグ実行)
@isTestアノテーション付きのクラス/メソッド上部のDebug Testをクリック
◾️操作手順(トランザクション実行)
- 追跡フラグの有効化:SFDX: Turn On Apex Debug Log for Replay Debugger
- デバッグシナリオの再現
- SFDX: Run Apex Tests
- SFDX: Execute Anonymous Apex with Currently Selected Text
- SFDX: Execute Anonymous Apex with Editor Contents
- ログの取得:SFDX: Get Apex Debug Logs
- ログを選択し、Apex Replay Debuggerを起動:SFDX: Launch Apex Replay Debugger with Current File