Actions リアルタイムログ機能では、アカウント内のカスタムコードに関するすべてのログをリアルタイムで表示できます。これには、console.log の出力と例外がすべて含まれます。これらのログは、Actions、Custom Database スクリプト、Custom Social Connections のデバッグ時に役立ちます。
Actions リアルタイムログを使用する際は、機密情報をログに記録しないよう注意してください。たとえば、Actions、Custom Database Scripts、Custom Social Connections の入力として関数が受け取るパラメーターには、明示的または暗黙的な機密情報が含まれている場合があります。オブジェクト全体をログに記録すると、リアルタイムログで機密情報が漏えいするおそれがあります。Auth0 は、このような方法を強く非推奨としています。ログに記録するオブジェクトの内容を十分に把握し、機密情報が記録されないようにするとともに、機密情報を明示的にログへ出力することも避けてください。
カスタムコードのリアルタイムログを表示するには、次の手順に従います。
- Auth0 Dashboard > Monitoring > Actions Logs に移動します。
- ストリームが接続されるまで待ちます。接続は自動的に試行されます。
- 接続されると、ログエントリが発生した時点でメインパネルに表示されます。
Actions のリアルタイムログパネルでは、システムのアクティビティをリアルタイムで監視できます。これにより、ダッシュボード経由で実行された Actions に関するライブフィードバックが得られ、問題の特定、処理の成功確認、または単にシステムの動作をリアルタイムで観察することが容易になります。この機能で現在利用できる機能の詳細な一覧については、以下を参照してください。
ログエントリは、Actions によって生成されるたびにリアルタイムでストリーミングされます。各 Action が実行されると、対応するログエントリがページを更新しなくても自動的にログパネルに表示されます。
パネル上部には、ブラウザーとログストリーム間の現在の接続ステータスが表示されます。これにより、ログを現在受信しているかどうかを確認できます。主なステータスは次のとおりです。
| ステータス | 説明 |
|---|
| ログストリームに接続中… | 接続の確立を試みています。 |
| CONNECTED | 正常に接続され、ログを受信しています。 |
| DISCONNECTED | 現在、ストリームに接続されていません。 |
パネル上部の検索バーを使用して、ログエントリを絞り込めます。次の条件で検索できます。
- キーワードまたはフレーズ
- 特定のエラーコード
- 完全一致するログメッセージ
これは、特定のActionや問題に関する大量のログを確認する際に特に便利です。
ログパネルの右上にある Options メニューをクリックすると、追加の操作項目にアクセスできます。
- Local Time: ログエントリのタイムスタンプ表示を、サーバーのデフォルト時刻 (通常は UTC) とユーザーのローカルブラウザー時刻との間で切り替えます。
- Download: 現在表示されているログを JSON ファイルとしてダウンロードし、オフラインでの分析、共有、または保存に利用できます。
- Clear Logs: 表示ウィンドウ内に現在表示されているログエントリをすべてクリアします。システムストレージからログが削除されるわけではなく、現在の表示のみがクリアされます。
新しいエントリが追加されて表示範囲外になると、ログパネルに一番下へスクロールボタンが表示されます。これをクリックすると最新のログエントリに移動し、常に最新のアクティビティを確認できます。
次の例では、汎用的な Hello World Action を作成して実行し、Actions リアルタイムログ を使用して結果を確認する方法を説明します。
-
Write Your First Action の手順に従い、以下のコード例を使用して Post Login Action を作成します。
/**
* PostLogin フローの実行中に呼び出されるハンドラー。
*
* @param {Event} event - ユーザーと、ログイン時のコンテキストに関する詳細。
* @param {PostLoginAPI} api - ログインの動作を変更するためのメソッドを提供するインターフェイス。
*/
exports.onExecutePostLogin = async (event, api) => {
console.log('Hello World!');
};
/**
* 外部リダイレクト後にこの Action が再開される際に呼び出されるハンドラー。onExecutePostLogin
* 関数でリダイレクトを実行しない場合、この関数は安全に無視できます。
*
* @param {Event} event - ユーザーと、ログイン時のコンテキストに関する詳細。
* @param {PostLoginAPI} api - ログインの動作を変更するためのメソッドを提供するインターフェイス。
*/
// exports.onContinuePostLogin = async (event, api) => {
// };
-
新しいタブを開き、Auth0 Dashboard > Monitoring > Actions Logs に移動します。
-
ストリームが接続されたら、Action Editor に切り替えてテストを実行します。
-
結果が Actions リアルタイムログ にリアルタイムで表示されます。
次の表に、リアルタイムログ機能でサポートされている JavaScript コンソールステートメントを示します。
| Statement | Description | Use Case |
|---|
console.log() | 汎用的な情報をログに出力します。 | 基本的な情報メッセージ、変数の値。 |
console.info() | アプリケーションの進行状況や状態を示す情報メッセージを出力します。 | 正常に完了した操作やアプリケーションの節目の報告。 |
console.warn() | 重大なエラーではないものの、潜在的な問題や想定外の状況を示します。 | 軽微な問題や非推奨機能の通知。 |
console.error() | アプリケーション内で発生したエラーを報告します。 | 失敗、例外、重大な問題の通知。 |
console.trace() | スタックトレースを表示し、現在の地点に至るまでの関数呼び出しの流れを示します。 | 複雑な呼び出しフローのデバッグや、問題の発生元の把握。 |
Actions リアルタイムログの接続に関する問題が発生している場合は、トラブルシューティング セクションを参照してください。