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

ログ記録 (C#)

Lambda 関数にログ作成のステートメントを含めることができます。AWS Lambda はこれらのログを CloudWatch Logs に書き込みます。

C# プログラミングモデルでは、関数にデータログを記録する 3 つの方法があることに注意してください。

  • C# Console クラスで提供される静的 Write メソッドまたは WriteLine メソッドを使用します。Console.Write または同様のメソッドを使用して標準出力または標準エラーに書き込まれたものは CloudWatch Logs に記録されます。

    Copy
    public class ProductService { public async Task<Product> DescribeProduct(DescribeProductRequest request) { Console.WriteLine("DescribeProduct invoked with Id " + request.Id); return await catalogService.DescribeProduct(request.Id); } }
  • Amazon.Lambda.Core.LambdaLogger クラスの Log メソッドを使用します。これはアプリケーションのどこでも使用できる静的クラスです。これを使用するには、Amazon.Lambda.Core ライブラリを含める必要があります。

    Copy
    using Amazon.Lambda.Core; public class ProductService { public async Task<Product> DescribeProduct(DescribeProductRequest request) { LambdaLogger.Log("DescribeProduct invoked with Id " + request.Id); return await catalogService.DescribeProduct(request.Id); } }

    イベントサイズが許可されている制限内である場合、LambdaLogger.Log を呼び出すたびに CloudWatch Logs イベントが発生します。CloudWatch Logs のログの制限の詳細については、Amazon CloudWatch ユーザーガイドCloudWatch のログの制限を参照してください。

  • ILambdaContext のロガーを使用します。メソッドの ILambdaContext オブジェクト (指定した場合) には、LambdaLogger を表す Logger プロパティが含まれています。以下は、このメソッドを使用する例です。

    Copy
    public class ProductService { public async Task<Product> DescribeProduct(DescribeProductRequest request, ILambdaContext context) { context.Logger.Log("DescribeProduct invoked with Id " + request.Id); return await catalogService.DescribeProduct(request.Id); } }

ログの検索方法

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

  • CloudWatch Logs でログを見つけます。ILambdaContext オブジェクトは、LogStreamName および LogGroupName プロパティを提供します。これらのプロパティを使用して、ログの書き込み先の特定のログストリームを見つけることができます。

  • コンソールを通じて Lambda 関数を呼び出す場合、呼び出しタイプは常に RequestResponse (同期実行) になります。コンソールは、Lambda 関数が LambdaLogger オブジェクトを使用して書き込むログを表示します。また、AWS Lambda は、Console.Write および Console.WriteLine メソッドからログを返します。

  • Lambda 関数をプログラムで呼び出す場合、LogType パラメータを追加して、CloudWatch Logs に書き込まれるログデータの最後の 4 KB を取得できます。詳細については、「Invoke」を参照してください。AWS Lambda は、レスポンスの x-amz-log-results ヘッダーでこのログ情報を返します。AWS Command Line Interface を使用して関数を呼び出す場合、--log-type パラメータを値 Tail とともに指定できます。

このページの内容: