メニュー
AWS Lambda
開発者ガイド

ログ作成 (Node.js)

Lambda 関数にログ作成のステートメントを含めることができます。AWS Lambda はこれらのログを CloudWatch に書き込みます。Lambda コンソールを使用して Lambda 関数を呼び出すと、コンソールに同じログが表示されます。

次の Node.js ステートメントがログエントリを生成します。

  • console.log()

  • console.error()

  • console.warn()

  • console.info()

たとえば、次の Node.js コードの例を考えます。

Copy
console.log('Loading function'); exports.handler = function(event, context, callback) { //console.log('Received event:', JSON.stringify(event, null, 2)); console.log('value1 =', event.key1); console.log('value2 =', event.key2); console.log('value3 =', event.key3); callback(null, event.key1); // Echo back the first key value };

スクリーンショットは、Lambda コンソールの [Log output] セクションの例です。ログは CloudWatch でも確認できます。詳細については、「AWS Lambda の Amazon CloudWatch ログへのアクセス」を参照してください。

コンソールでは関数の呼び出し時に RequestResponse 呼び出しタイプ (同期呼び出し) が使用されるため、戻り値 (value1) が AWS Lambda から取得され、コンソールに表示されます。

前述の Node.js コードを AWS Lambda コンソールでテストするには

  1. コンソールで、hello-world 設計図を使用して Lambda 関数を作成します。必ず、[runtime] に Node.js を選択してください。これを行う手順については、 ステップ 2.1: Hello World Lambda 関数を作成する.

  2. Lambda コンソールが提供する [Hello World] という [Sample event template] を使用して Lambda 関数をテストします。これを行う手順については、「ステップ 2.2: Lambda 関数を手動で呼び出し、結果、ログ、メトリクスを確認する」を参照してください。また、コードを更新して、このセクションで説明した他のログ記録メソッドやプロパティをテストできます。

手順については、「ご利用開始にあたって」を参照してください。

ログの検索

Lambda 関数が書き込んだログは、次のように確認できます。

  • AWS Lambda コンソール – AWS Lambda コンソールの [Log output] セクションにログが表示されます。

  • レスポンスヘッダー、Lambda 関数をプログラムで呼び出した場合 – Lambda 関数をプログラムで呼び出した場合は、LogType パラメーターを追加して、CloudWatch ログに書き込まれるログデータの最後の 4 KB を取得できます。AWS Lambda は、レスポンスの x-amz-log-results ヘッダーでこのログ情報を返します。詳細については、呼び出しを参照してください。

    AWS CLI を使用して関数を呼び出した場合は、 --log-type parameter を値 Tail とともに指定して同じ情報を取得できます。

  • CloudWatch ログ – CloudWatch でログを確認するには、ロググループ名とログストリーム名を把握しておく必要があります。コードに context.logGroupName メソッドと context.logStreamName メソッドを追加することで、この情報を取得できます。Lambda 関数を実行すると、コンソールまたは CLI の結果ログが、ロググループ名およびログストリーム名を表示します。

このページの内容: