Workflow ログ記録の概要Issue Workflow ログ記録の概要 目標 Workflow ログ記録の紹介エンジンからのログ記録アクティビティからのログ記録スクリプトでのカスタマイズされたログメッセージの書き込み 要約 ワークフローエンジンは、Workflow のプロパティを使用して構成可能なログ記録オプションを提供します。 ログメッセージには、メッセージのソースが示されます。メッセージログエントリは、ENGINE または ACTIVITY 内のいずれかから取得されます。 ログエントリから、ログメッセージアクティビティ、ログトレースアクティビティを使用して、また JavaScript を介して直接、コンテキストワークフローログを作成できます。 Workflow ログ記録が長くなってきたら、リストフィルターを使用してメッセージを素早く見つけることができます。 ResolutionServiceNow Workflow のログ記録 ServiceNow Workflow では、ワークフロー専用のログに記録します。現在実行中のワークフローコンテキストに固有のシステムログとは別のものです。 ログ記録は、ワークフローのデバッグと進行状況のトレースに役立ちます。 ServiceNow Workflow は Glide スクリプトエンジンの一部であり、Glide レコードの挿入、更新、削除、またはキャンセルで呼び出されます。ワークフローログのログエントリには、エンジンから取得されたログか、アクティビティから取得されたログかが示されます。 ワークフローコンテキストに存在するログ記録のレベルは、プロパティで構成できます。 ログメッセージアクティビティの追加 最初の演習では、ワークフローのデフォルトのログ記録動作を説明します。 [ServiceNow] タブを再度選択して、ワークフローエディターに戻ります。ワークフローキャンバスのヘッダーで [新規] をクリックします。次のようにフォームに入力します。名前 K14 ログ記録デモ。テーブル:グローバル 。 [送信] ボタンをクリックします。 アクティビティツリーのユーティリティフォルダーを展開します。ユーティリティフォルダーでログメッセージアクティビティを見つけます。マウスボタンを長押ししたまま、このアクティビティをキャンバスにドラッグします。移行線が青色に変わるまで、アクティビティを線上で移動させます。マウスを離します。[新しいアクティビティ] フォームが表示されます。次のようにフォームに入力します。名前:K14 ログメッセージメッセージ:これは、ログメッセージアクティビティ内のメッセージです。 [送信] ボタンをクリックします。 ワークフローは次のようになります。 ユーティリティフォルダーでログトレースメッセージアクティビティを見つけます。マウスボタンを長押ししたまま、このアクティビティをキャンバスにドラッグします。移行線が青色に変わるまで、アクティビティをログメッセージと終了の間の線上で移動させます。マウスを離します。次のようにフォームに入力します。名前:K14 ログトレースメッセージ。 [送信] をクリックします。ワークフローは次のようになります。 ユーティリティフォルダーで [スクリプトを実行] アクティビティを見つけます。マウスボタンを長押ししたまま、このアクティビティをキャンバスにドラッグします。移行線が青色に変わるまで、アクティビティをログトレースメッセージと終了の間の線上で移動させます。マウスを離します。次のようにフォームに入力します。名前:K14 実行スクリプト内部からのログメッセージスクリプト:workflow.debug(‘スクリプト内から DEBUG をログ記録’);workflow.info(‘スクリプト内から INFO をログ記録’); [送信] ボタンをクリックします。ワークフローは次のようになります。 キャンバスのヘッダーにある緑色の [再生] ボタンをクリックします。 [送信] ボタンをクリックします。質問:青色のアクティビティは何を示していますか? ログ記録出力の確認 メインの [ServiceNow] タブに戻ります。 アプリケーションで、Workflow の [すべてのコンテキスト (All Contexts)] モジュールを選択します。 ワークフロー実行:K14 ログ記録デモコンテキストを選択します。 [ワークフローログ] タブを選択します。[ソース] 列に注目します。 ENGINE は、ワークフローエンジンから取得されるメッセージです。ACTIVITY は、ワークフローアクティビティ内で JavaScript から取得されるメッセージです。 次のメッセージに注目してください。 (1) 最初の ACTIVITY メッセージは、ログメッセージアクティビティの出力です。(2) 次の 3 つのメッセージは、トレースメッセージアクティビティの出力です。トレースメッセージアクティビティは、アクティビティに割り当てられた名前、ワークフローが移行しているイベント、およびワークフローコンテキストの ID をログに記録します。 (3) 3 番目のメッセージは、[スクリプトを実行] アクティビティの [スクリプト] フィールドに書き込まれた INFO メッセージです。 質問:このログで見つからないメッセージは何ですか?ワークフローログの詳細レベルは、プロパティで構成できます。 [Workflow] > [ プロパティ] プロパティ [ワークフローアクションの詳細のログ記録する (Log details of workflow actions)] をチェックします。このプロパティは、ログメッセージングのレベルを設定します。[ワークフローデバッグメッセージのログを記録する (Log workflow debug messages)] をチェックします。デバッグがアクティブになっている間のログメッセージングのレベルを設定します。ワークフローエディターに戻り、タブを閉じます。K14 ログ記録デモワークフローを開きます。ワークフローがチェックアウトされていることに注目します。緑色の [再生] 矢印を使用してワークフローを再実行します。メインの [ServiceNow] タブに戻ります。[Workflow] > [ すべてのコンテキスト (All Contexts)]。最後に実行した K14 ログ記録デモワークフローを見つけて、選択します。[ワークフローログ] タブを選択します。リストは次のようになります。注意:ワークフローログメッセージの実際の数は場合によって異なります。次のことに注目してください。 ワークフローログエントリが大幅に増加しました。デバッグメッセージと情報メッセージが混合しています。多くの情報が ENGINE から取得されています。 リスト内で [スクリプトを実行] のログ記録を検索 リストフィルターを使用して、次の手順を実行します。 [移動先 (Go to)] で [メッセージ] を選択します。「from Run Script」と入力します。 検索アイコン (虫眼鏡) をクリックします。リストは次のようになります。[スクリプトを実行] アクティビティでこれまで見つからなかったデバッグメッセージが、ワークフローログに表示されるようになったことに注目します。 注意:Workflow ログ記録のプロパティは、実行中のすべてのコンテキストに適用されます。 インスタンスのパフォーマンスを最適化するために、デバッグまたはテストに必要な場合にのみ使用してください。