ルールのデバッグ
ルール設計者は、logMsg()文を使用してルール・ロジックに関する情報を取得し、必要に応じて動作することを確認することで、ルールをデバッグできます。
デバッグ機能は、テスト・モードでのみ使用できます。テスト・コンテナには、必須要素を含む試験バージョンが必要です。Rulesインタフェースには、「ルール・インタフェースへのアクセス」の説明に従って、特定の試験バージョンおよびサイトからアクセスします。
注意:
ルールをデバッグする前に、ルールのテスト・データが入力されている必要があります。「デバッグ」ボタンは、ルールがアクセスされたサブジェクトに入力されたデータに対してルールを実行します。これには、他の訪問で入力された関連データが含まれます。![ルール・エディタの右側にログ・ウィンドウが表示されます。 ルール・エディタの右側にログ・ウィンドウが表示されます。](img/debug-rule-multiple-instances.png)
ログ・ウィンドウがルール・エディタの右側に表示されます。
ルールは、選択したサブジェクトのデータに対して実行され、ルール内のlogMsg()
ヘルパー・ファンクションおよびすべてのインスタンスに対して行われたコールを出力します。つまり、ルールが複数のビジットのフォームまたは繰返しセクションの質問に属している場合、影響を受けるすべてのビジットおよび繰返しセクションのルールが分析されます。各ルール・インスタンスからの出力がログ・ウィンドウにリストされます。
例外が発生した場合は、スタック・トレースの詳細およびエラー・メッセージがログ・ウィンドウに表示されます。
ログ・メッセージを確認し、ルール式に必要な変更を加えます。必要に応じてログ文を追加し、ルールの実行パスが想定どおりになるまでこのプロセスを繰り返します。次に、変更を保存し、ルール・エディタを終了します。
ヒント:
logMsg()
ヘルパー・ファンクションはデバッグ・モードでのみ実行されるため、ルールを公開する前にコールを削除する必要はありません。
保存後、ルール・パフォーマンスを想定どおりにテストする必要があります。ルールを本番で使用できるようにするには、ルールをテスト、承認および公開する必要があります。
カスタム・ルールの開発例および詳細は、次を参照してください。
親トピック: ルール・エディタを使用したルールの作成