ログファイルの確認
Archived
2 タスク
15 分
シナリオ
従業員の評価プロセスでは、新入社員としてのパフォーマンスを定期的に評価するための評価期間が設けられています。 従業員評価のケースタイプで評価期間のステータスをチェックするには、IsEvalPeriodEndedWhenルールで、入力された評価日が経過しているかどうかをチェックします。 ユーザーが入力した日付が評価期間内であれば、次の「Assess employee」のプロセスに移動します。 ユーザーが評価期間外の未来の日付を入力すると、「Assessment」ステップはスキップされ、「Review」ステージに移動します。
従業員の評価プロセスをスキップするためのWhen条件を評価する正しい構文は 「Invalid Evaluation End date + .Enddate,」とする必要がありますが、デベロッパーはこのプロパティを「Emddate」とスペルミスしています。 実行時に、プロセスが期待した値を返さないことに気づきます。 この矛盾を見つけるために、ログを確認します。
- デベロッパーがEmddateという名前の新しいプロパティを作成したシナリオについて考える
- 既存のWhen条件であるIsEvalPeriodEnded で、デベロッパーはEndDateをEmddateとスペルミスしています。
- Log-Messageメソッドを使用して、IsEvalPeriodEndedがtrueを返した場合のみ、PegaRULESログファイルにメッセージを書き込むアクティビティを作成します。
- IdentifyAssessmentPeriod_0フローアクションの「Actions」タブの「Run activity」フィールドにこのアクティビティを追加します。
- ケースを実行して生成されたログファイルを表示し、"Invalid Evaluation criteria End date"+ .Enddateというメッセージを表示する
以下の表は、チャレンジに必要なログイン情報をまとめたものです。
ロール | ユーザー名 | パスワード |
---|---|---|
シニアシステムアーキテクト | SSA@TGB | rules |
チャレンジ ウォークスルー
詳細なタスク
1 スペルミスされたプロパティの導入
-
EmployeeEvaluationクラスに、DateタイプのプロパティEmddateを作成します。
-
同じクラスで、IsEvalPeriodEndedという名前の既存のWhenルールを開き、Emddateを含む終了日を変更します。
2 アクティビティを作成し、ログファイルにメッセージを追加
-
EmployeeEvaluationクラスで、WriteToLogという名前のアクティビティレコードを作成します。
ヒント: アクティビティレコードを作成するには、Application Explorerでクラス名を右クリックし、「Create」>「Technical」>「Activity」を選択します。 - アクティビティの最初のステップで、When条件の有効化を追加し、次の値を設定します:When IsEvalPeriodEndedtrueの場合はSkip Step、falseの場合はContinue Whens 。
- Methodフィールドで「Log-Message」と入力または選択します。
- 「Message」フィールドに、"Invalid Evaluation criteria End date" + .Emddateと入力する。
-
「LoggingLevel」フィールドに、「InfoForced」と入力します。
補足: デフォルトでは、PegaRULESログはログレベルがErrorに設定されたメッセージのみ記録します。 レベルをInfoForcedに設定すると、サーバーのログレベル設定を変更することなく、この制限が上書きされます。 -
アクティビティを保存します。
補足: 新しいActivityを作成するとワーニングが表示されますので、チェックイン前にGuardrailワーニングを適正化します。 -
Employee Evaluationクラスで、IdentifyAssessmentPeriod_0 フローアクションを開きます。
ヒント: フローアクションレコードは、Application Explorerの「Process」カテゴリーにあります。 - 「Action」タブをクリックします。
- 「Action」タブの後処理セクションの「Run activity」フィールドで、「WriteToLog」と入力または選択して、後処理アクションとしてフローアクションにアクティビティを追加します。
- フローアクションを保存して、設定変更をコミットします。
作業の確認
- 新規の Employee Evaluationケースを作成し、「Identify Employee」フォームに記入し、Submitします。
- 「Identify Assessmentフォームに進み、有効な「End date」を入力する。
- 有効な評価日を表示する代わりに、ケースが「Review」ステージに移行することを確認します。
- トラブルシューティングして問題を確認するにはDev Studioにログインし、「Configure > System > Operations > Logs」を選択して、「System: Operations」ランディングページを表示します。
- 「Log utilities」で、「Log files」をクリックします。 新しいブラウザウィンドウにログビューアが表示され、サーバーに書き込まれたログファイルが一覧表示されます。
-
「File (click to view)」で、PEGA Appender Fileのログファイルをクリックすると、ウィンドウ内にログが表示されます。
補足: セキュリティ上の理由から、演習環境ではログファイルをダウンロードするオプションは利用できません。 -
ログファイルの中で、最新のエントリーを探します。 そのエントリーが、先に作成したアクティビティのログレベルとメッセージに一致することを確認します。このログメッセージエントリーは、IsEvalPeriodEndedルールがfalseを返したときのみ発生します。
補足: ログファイルに複数のエントリーがある場合は、最新のタイムスタンプを持つエントリーを探します。 - ログファイルのあるウィンドウを閉じます。
- その後、Whenルールに戻り、Property のスペルが間違っていることを確認することができます。
- IsEvalPeriodEndedのWhen条件に戻り、スペルミスのあった「Emddate」を「EndDate」プロパティに置き換えます。
- 手順1-2を完了し、ビューに有効な評価日が含まれていることを確認します。
- IdentifyAssessmentPeriod_0フローアクションに戻り、Post-processing セクションのActionsタブからアクティビティを削除します。
-
フローアクションを保存して、アプリケーションがテストメッセージを PEGA ログに書き込まないようにします。
ヒント: Pega ログの乱雑さを減らし、パフォーマンスを向上させるには、InfoForced レベルのメッセージを書き込むアクティビティステップを削除するか、メッセージが不要になったらそれをコメントに変換します。