C# Lambda 関数のログ記録とモニタリング
AWS Lambda は、Lambda 関数を自動的にモニタリングし、Amazon CloudWatch にログエントリを送信します。Lambda 関数には、関数のインスタンスごとに CloudWatch Logs ロググループとログストリームが用意されています。Lambda のランタイム環境は、各呼び出しの詳細や、関数のコードからのその他の出力をログストリームに送信します。CloudWatch Logs の詳細については、「Lambda で CloudWatch Logs を使用する」を参照してください。
セクション
ログを返す関数の作成
関数コードからログを出力する場合は、コンテキストオブジェクトの ILambdaLoggerstdout
か stderr
に書き込む任意のログライブラリを使用できます。
.NET ランタイムは、呼び出しごとに START
、END
、REPORT
の各行を記録します。レポート行には、次の詳細が示されます。
REPORT 行のデータフィールド
-
RequestId - 呼び出しの一意のリクエスト ID。
-
所要時間 - 関数のハンドラーメソッドがイベントの処理に要した時間。
-
課金期間 - 呼び出しの課金対象の時間。
-
メモリサイズ - 関数に割り当てられたメモリの量。
-
使用中の最大メモリ - 関数によって使用されているメモリの量。呼び出しが実行環境を共有すると、Lambda はすべての呼び出しで使用される最大メモリを報告します。この動作により、予想よりも高い報告値が発生する可能性があります。
-
初期所要時間 - 最初に処理されたリクエストについて、ハンドラーメソッド外で関数をロードしてコードを実行するためにランタイムにかかった時間。
-
XRAY TraceId - トレースされたリクエストの場合、AWS X-Ray のトレース ID。
-
SegmentId - トレースされたリクエストの場合、X-Ray のセグメント ID。
-
サンプリング済み - トレースされたリクエストの場合、サンプリング結果。
.NET での Lambda の高度なログ記録コントロールの使用
関数のログのキャプチャ、処理、使用方法をより細かく制御できるように、サポートされている .NET ランタイムに以下のログ記録オプションを設定できます。
-
ログの形式 - 関数のログをプレーンテキスト形式と構造化された JSON 形式から選択します
-
ログレベル - JSON 形式のログの場合、Lambda が CloudWatch に送信するログの詳細レベル (ERROR、DEBUG、INFO など) を選択します。
-
ロググループ - 関数がログを送信する CloudWatch ロググループを選択します
これらのログ記録オプションの詳細と、それらのオプションを使用するように関数を設定する方法については、「Lambda 関数の高度なログ記録コントロールの設定」を参照してください。
.NET Lambda 関数でログ形式とログレベルのオプションを使用するには、以下のセクションのガイダンスを参照してください。
.NET での構造化された JSON ログ形式の使用
関数のログ形式に JSON を選択した場合、Lambda は ILambdaLogger
-
"timestamp"
- ログメッセージが生成された時刻 -
"level"
- メッセージに割り当てられたログレベル -
"requestId"
- 関数呼び出しの一意のリクエスト ID -
"traceId"
-_X_AMZN_TRACE_ID
環境変数 -
"message"
- ログメッセージの内容
ILambdaLogger
インスタンスは、例外のログ記録時などに、キーと値のペアを追加できます。セクション「ユーザー指定のログパラメータ」で説明されているように、独自の追加パラメータを指定することもできます。
注記
コードが既に別のログ記録ライブラリを使用して JSON 形式のログを生成している場合は、関数のログ形式がプレーンテキストに設定されていることを確認してください。ログ形式を JSON に設定すると、ログ出力が二重にエンコードされます。
次のログ記録コマンドの例は、レベル INFO
でログメッセージを書き込む方法を示しています。
例 .NET ログ記録コード
context.Logger.LogInformation("Fetching cart from database");
次の例に示すように、ログレベルを引数とする汎用ログメソッドを使用することもできます。
context.Logger.Log(LogLevel.Information, "Fetching cart from database");
これらのサンプルコードスニペットによるログ出力は、次のように CloudWatch Logs にキャプチャされます。
例 JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Fetching cart from database"
}
注記
JSON ではなくプレーンテキストを使用するように関数のログ形式を設定した場合、メッセージにキャプチャされるログレベルには Microsoft の規則に従って 4 文字のラベルが使用されます。例えば、Debug
のログレベルはメッセージに dbug
と表示されます。
JSON 形式のログを使用するように関数を設定すると、ログにキャプチャされるログレベルには、JSON ログレコードの例に示すように、完全なラベルが使用されます。
ログ出力にレベルを割り当てない場合、Lambda は自動的に INFO レベルを割り当てます。
JSON の例外の記録
ILambdaLogger
で構造化 JSON ログ記録を使用する場合、次の例に示すように、コードで例外をログに記録できます。
例 例外ログ記録の使用
try { connection.ExecuteQuery(query); } catch(Exception e) { context.Logger.LogWarning(e, "Error executing query"); }
このコードによるログ形式の出力を次の JSON の例に示します。JSON の message
プロパティは LogWarning
呼び出しで指定されたメッセージ引数を使用して入力され、errorMessage
プロパティは例外自体の Message
プロパティから取得されることに注意してください。
例 JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Warning",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Error executing query",
"errorType": "System.Data.SqlClient.SqlException",
"errorMessage": "Connection closed",
"stackTrace": ["<call exception.StackTrace>"]
}
関数のログ記録形式が JSON に設定されている場合、未対応の例外をコードがスローしたときにも Lambda は JSON 形式のログメッセージ出力します。次のコードスニペットとログメッセージの例は、未対応の例外がどのようにログに記録されるかを示しています。
例 例外コード
throw new ApplicationException("Invalid data");
例 JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Error",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Invalid data",
"errorType": "System.ApplicationException",
"errorMessage": "Invalid data",
"stackTrace": ["<call exception.StackTrace>"]
}
ユーザー指定のログパラメータ
JSON 形式のログメッセージでは、追加のログパラメータを指定し、それらをログ message
に含めることができます。次のコードスニペットの例は、retryAttempt
と uri
というラベルが付いた 2 つのユーザー指定のパラメータを追加するコマンドを示しています。この例では、これらのパラメータの値は、ログ記録コマンドに渡される retryAttempt
および uriDestination
引数から取得されます。
例 追加パラメータを使用した JSON ログ記録コマンド
context.Logger.LogInformation("Starting retry {retryAttempt} to make GET request to {uri}", retryAttempt, uriDestination);
このコマンドによるログメッセージ出力を次の JSON の例に示します。
例 JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "Starting retry 1 to make GET request to http://example.com/",
"retryAttempt": 1,
"uri": "http://example.com/"
}
ヒント
追加のパラメータを指定するときに、名前の代わりに位置プロパティを使用することもできます。例えば、前の例のログ記録コマンドは次のように記述することもできます。
context.Logger.LogInformation("Starting retry {0} to make GET request to {1}", retryAttempt, uriDestination);
追加のログ記録パラメータを指定すると、Lambda はそれらを JSON ログレコードの最上位プロパティとしてキャプチャすることに注意してください。このアプローチは、個々の子オブジェクトで追加パラメータをキャプチャする Serilog
などの一般的な .NET ログ記録ライブラリとは異なります。
追加パラメータに指定する引数が複雑なオブジェクトの場合、Lambda はデフォルトで ToString()
メソッドを使用して値を指定します。引数を JSON シリアル化する必要があることを示すには、次のコードスニペットに示すように @
プレフィックスを使用します。この例では、User
は FirstName
および LastName
プロパティを持つオブジェクトです。
例 JSON シリアル化されたオブジェクトを使用した JSON ログ記録コマンド
context.Logger.LogInformation("User {@user} logged in", User);
このコマンドによるログメッセージ出力を次の JSON の例に示します。
例 JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "User {@user} logged in",
"user":
{
"FirstName": "John",
"LastName": "Doe"
}
}
追加パラメータの引数が配列であるか、IList
または IDictionary
を実装している場合、Lambda は、次の JSON ログレコードの例に示すように、引数を配列として JSON ログメッセージに追加します。この例では、{users}
は前の例と同じ形式の User
プロパティのインスタンスを含む IList
を引数にします。Lambda はこの IList
を配列に変換し、各値は ToString
メソッドを使用して作成されます。
例 IList
引数を含む JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "{users} have joined the group",
"users":
[
"Rosalez, Alejandro",
"Stiles, John"
]
}
ログ記録コマンドで @
プレフィックスを使用して、リストを JSON シリアル化することもできます。次の JSON ログレコードの例では、users
プロパティは JSON シリアル化されています。
例 JSON シリアル化された IList
引数を含む JSON ログレコード
{
"timestamp": "2023-09-07T01:30:06.977Z",
"level": "Information",
"requestId": "8f711428-7e55-46f9-ae88-2a65d4f85fc5",
"traceId": "1-6408af34-50f56f5b5677a7d763973804",
"message": "{@users} have joined the group",
"users":
[
{
"FirstName": "Alejandro",
"LastName": "Rosalez"
},
{
"FirstName": "John",
"LastName": "Stiles"
}
]
}
.NET でのログレベルフィルタリングの使用
ログレベルのフィルタリングを設定することで、特定の詳細レベル以下のログのみを CloudWatch Logs に送信するように選択できます。関数にログレベルのフィルタリングを設定する方法については、「ログレベルのフィルタリング」を参照してください。
AWS Lambda でログレベルでログメッセージをフィルタリングする場合は、JSON 形式のログを使用するか、.NET の Console
メソッドを使用してログメッセージを出力します。JSON 形式のログを作成するには、関数のログタイプを JSON に設定し、ILambdaLogger
インスタンスを使用します。
JSON 形式のログでは、Lambda は「.NET での構造化された JSON ログ形式の使用」で説明されている JSON オブジェクトの「level」キーと値のペアを使用してログ出力をフィルタリングします。
.NET の Console
メソッドを使用して CloudWatch Logs にメッセージを書き込む場合、Lambda は次のようにログレベルをメッセージに適用します。
-
Console.WriteLine メソッド - Lambda は
INFO
のログレベルを適用します -
Console.Error メソッド - Lambda は
ERROR
のログレベルを適用します
ログレベルのフィルタリングを使用するように関数を設定する場合、Lambda が CloudWatch Logs に送信するログのレベルを以下のオプションから選択する必要があります。Lambda で使用されるログレベルと、.NET の ILambdaLogger
で使用される標準の Microsoft レベルのマッピングに注意してください。
Lambda ログレベル | 同等の Microsoft レベル | 標準的な使用状況 |
---|---|---|
TRACE (最も詳細) | トレース | コードの実行パスを追跡するために使用される最も詳細な情報 |
DEBUG | デバッグ | システムデバッグの詳細情報 |
INFO | 情報 | 関数の通常の動作を記録するメッセージ |
WARN | 警告 | 対処しないと予期しない動作を引き起こす可能性がある潜在的なエラーに関するメッセージ |
ERROR | エラー | コードが期待どおりに動作しなくなる問題に関するメッセージ |
FATAL (詳細度が最も低い) | [非常事態] | アプリケーションの機能停止を引き起こす重大なエラーに関するメッセージ |
Lambda は、選択した詳細レベル以下のログを CloudWatch に送信します。例えば、ログレベルを WARN に設定すると、Lambda は WARN、ERROR、FATAL の各レベルに対応するログを送信します。
その他のログ記録ツールとライブラリ
Powertools for AWS Lambda (.NET)
Lambda の コンテキスト、コールドスタート、構造から主要キーをキャプチャし、JSON 形式でログ出力する
指示された場合 Lambda 呼び出しイベントをログ記録する (デフォルトでは無効)
ログサンプリングにより、特定の割合の呼び出しにのみすべてのログを出力する (デフォルトでは無効)
任意のタイミングで、構造化されたログにキーを追加する
カスタムログフォーマッター (Bring Your Own Formatter) を使用して、組織の ログ記録 RFC と互換性のある構造でログを出力する
構造化されたログ記録に Powertools for AWS Lambda (.NET) と AWS SAM を使用する
以下の手順に従い、AWS SAM を使用する統合済み Powertools for AWS Lambda (.NET)hello world
のメッセージを返します。
前提条件
このセクションの手順を完了するには、以下が必要です。
-
.NET 8
-
「AWS SAM CLI バージョン 1.75 以降」 AWS SAM CLI のバージョンが古い場合は、「AWS SAM CLI のアップグレード」を参照してください。
AWS SAM サンプルアプリケーションをデプロイする
-
Hello World TypeScript テンプレートを使用して、アプリケーションを初期化します。
sam init --app-template hello-world-powertools-dotnet --name sam-app --package-type Zip --runtime dotnet6 --no-tracing
-
アプリケーションを構築します。
cd sam-app && sam build
-
アプリケーションをデプロイします。
sam deploy --guided
-
画面に表示されるプロンプトに従ってください。インタラクティブな形式で提供されるデフォルトオプションを受け入れるには、
Enter
を押します。注記
[HelloWorldFunction には権限が定義されていない場合がありますが、問題ありませんか?] には、必ず
y
を入力してください。 -
デプロイされたアプリケーションの URL を取得します。
aws cloudformation describe-stacks --stack-name sam-app --query 'Stacks[0].Outputs[?OutputKey==`HelloWorldApi`].OutputValue' --output text
-
API エンドポイントを呼び出します。
curl -X GET
<URL_FROM_PREVIOUS_STEP>
成功すると、次のレスポンスが表示されます。
{"message":"hello world"}
-
関数のログを取得するには、sam logs を実行します。詳細については、「AWS Serverless Application Model デベロッパーガイド」の「ログの使用」を参照してください。
sam logs --stack-name sam-app
ログ出力は次のようになります。
2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:27.988000 INIT_START Runtime Version: dotnet:6.v13 Runtime Version ARN: arn:aws:lambda:ap-southeast-2::runtime:699f346a05dae24c58c45790bc4089f252bf17dae3997e79b17d939a288aa1ec 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:28.229000 START RequestId: bed25b38-d012-42e7-ba28-f272535fb80e Version: $LATEST 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:29.259000 2023-02-20T14:15:29.201Z bed25b38-d012-42e7-ba28-f272535fb80e info {"_aws":{"Timestamp":1676902528962,"CloudWatchMetrics":[{"Namespace":"sam-app-logging","Metrics":[{"Name":"ColdStart","Unit":"Count"}],"Dimensions":[["FunctionName"],["Service"]]}]},"FunctionName":"sam-app-HelloWorldFunction-haKIoVeose2p","Service":"PowertoolsHelloWorld","ColdStart":1} 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.479000 2023-02-20T14:15:30.479Z bed25b38-d012-42e7-ba28-f272535fb80e info {"ColdStart":true,"XrayTraceId":"1-63f3807f-5dbcb9910c96f50742707542","CorrelationId":"d3d4de7f-4ccc-411a-a549-4d67b2fdc015","FunctionName":"sam-app-HelloWorldFunction-haKIoVeose2p","FunctionVersion":"$LATEST","FunctionMemorySize":256,"FunctionArn":"arn:aws:lambda:ap-southeast-2:123456789012:function:sam-app-HelloWorldFunction-haKIoVeose2p","FunctionRequestId":"bed25b38-d012-42e7-ba28-f272535fb80e","Timestamp":"2023-02-20T14:15:30.4602970Z","Level":"Information","Service":"PowertoolsHelloWorld","Name":"AWS.Lambda.Powertools.Logging.Logger","Message":"Hello world API - HTTP 200"} 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.599000 2023-02-20T14:15:30.599Z bed25b38-d012-42e7-ba28-f272535fb80e info {"_aws":{"Timestamp":1676902528922,"CloudWatchMetrics":[{"Namespace":"sam-app-logging","Metrics":[{"Name":"ApiRequestCount","Unit":"Count"}],"Dimensions":[["Service"]]}]},"Service":"PowertoolsHelloWorld","ApiRequestCount":1} 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.680000 END RequestId: bed25b38-d012-42e7-ba28-f272535fb80e 2023/02/20/[$LATEST]4eaf8445ba7a4a93b999cb17fbfbecd8 2023-02-20T14:15:30.680000 REPORT RequestId: bed25b38-d012-42e7-ba28-f272535fb80e Duration: 2450.99 ms Billed Duration: 2451 ms Memory Size: 256 MB Max Memory Used: 74 MB Init Duration: 240.05 ms XRAY TraceId: 1-63f3807f-5dbcb9910c96f50742707542 SegmentId: 16b362cd5f52cba0
-
これは、インターネット経由でアクセス可能なパブリック API エンドポイントです。テスト後にエンドポイントを削除することを推奨します。
sam delete
ログ保持の管理
関数を削除しても、ロググループは自動的には削除されません。ログを無期限に保存しないようにするには、ロググループを削除するか、CloudWatch がログを自動的に削除するまでの保持期間を設定します。ログ保持を設定するには、AWS SAM テンプレートに以下を追加します。
Resources: HelloWorldFunction: Type: AWS::Serverless::Function Properties: # Omitting other properties LogGroup: Type: AWS::Logs::LogGroup Properties: LogGroupName: !Sub "/aws/lambda/${HelloWorldFunction}" RetentionInDays: 7
Lambda コンソールでログを表示する
Lambda コンソールを使用して、Lambda 関数を呼び出した後のログ出力を表示できます。
組み込み Code エディタからコードがテスト可能である場合、[実行結果] でログを確認できます。コンソールのテスト機能を使用して関数を呼び出すと、[詳細] セクションで [ログ出力] を確認できます。
CloudWatch コンソールでの ログの表示
Amazon CloudWatch コンソールを使用して、すべての Lambda 関数呼び出しのログを表示できます。
CloudWatch コンソールでログを表示するには
-
CloudWatch コンソールの [Log groups (ロググループ)] ページ
を開きます。 -
機能のロググループを選択します( /aws/lambda/
関数名
) -
ログストリームを選択します
各ログストリームは、関数のインスタンスに相当します。ログストリームは、Lambda 関数を更新したとき、および複数の同時呼び出しを処理するために追加のインスタンスが作成されたときに表示されます。特定の呼び出しのログを検索するために、AWS X-Ray を使って関数をインストルメント化することをお勧めします。 X-Ray は、リクエストとログストリームの詳細をトレースに記録します。
AWS Command Line Interface (AWS CLI) を使用してログを表示する
AWS CLI は、コマンドラインシェルでコマンドを使用して AWS サービスとやり取りするためのオープンソースツールです。このセクションの手順を完了するには、AWS CLIバージョン 2 が必要です。
AWS CLI および --log-type
コマンドオプションを使用して、呼び出しのログを取得します。レスポンスには、LogResult
フィールドが含まれ、このフィールドには、呼び出しから base64 コードされた最大 4 KB のログが含まれます。
例 ログ ID を取得します
次の例は、LogResult
という名前の関数のmy-function
フィールドからログ ID を取得する方法を示しています。
aws lambda invoke --function-name my-function out --log-type Tail
次のような出力が表示されます。
{
"StatusCode": 200,
"LogResult": "U1RBUlQgUmVxdWVzdElkOiA4N2QwNDRiOC1mMTU0LTExZTgtOGNkYS0yOTc0YzVlNGZiMjEgVmVyc2lvb...",
"ExecutedVersion": "$LATEST"
}
例 ログをデコードします
同じコマンドプロンプトで、base64
ユーティリティを使用してログをデコードします。次の例は、my-function
の base64 でエンコードされたログを取得する方法を示しています 。
aws lambda invoke --function-name my-function out --log-type Tail \ --query 'LogResult' --output text --cli-binary-format raw-in-base64-out | base64 --decode
AWS CLI バージョン 2 を使用している場合、cli-binary-format オプションは必須です。これをデフォルト設定にするには、aws configure set cli-binary-format raw-in-base64-out
を実行します。詳細については、バージョン 2 の AWS Command Line Interface ユーザーガイドの「AWS CLI でサポートされているグローバルコマンドラインオプション」を参照してください。
以下の出力が表示されます。
START RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 Version: $LATEST "AWS_SESSION_TOKEN": "AgoJb3JpZ2luX2VjELj...", "_X_AMZN_TRACE_ID": "Root=1-5d02e5ca-f5792818b6fe8368e5b51d50;Parent=191db58857df8395;Sampled=0"",ask/lib:/opt/lib", END RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 REPORT RequestId: 57f231fb-1730-4395-85cb-4f71bd2b87b8 Duration: 79.67 ms Billed Duration: 80 ms Memory Size: 128 MB Max Memory Used: 73 MB
base64
このユーティリティは、Linux、macOS、および Windows の Ubuntu base64 -D
を使用する必要があります 。
例 get-logs.sh スクリプト
同じコマンドプロンプトで、次のスクリプトを使用して、最後の 5 つのログイベントをダウンロードします。このスクリプトはsed
を使用して出力ファイルから引用符を削除し、ログが使用可能になるまで15秒待機します。この出力には Lambda からのレスポンスと、get-log-events
コマンドからの出力が含まれます。
次のコードサンプルの内容をコピーし、Lambda プロジェクトディレクトリに get-logs.sh
として保存します。
AWS CLI バージョン 2 を使用している場合、cli-binary-format オプションは必須です。これをデフォルト設定にするには、aws configure set cli-binary-format raw-in-base64-out
を実行します。詳細については、バージョン 2 の AWS Command Line Interface ユーザーガイドの「AWS CLI でサポートされているグローバルコマンドラインオプション」を参照してください。
#!/bin/bash aws lambda invoke --function-name my-function --cli-binary-format raw-in-base64-out --payload '{"key": "value"}' out sed -i'' -e 's/"//g' out sleep 15 aws logs get-log-events --log-group-name /aws/lambda/
my-function
--log-stream-namestream1
--limit 5
例 macOS および Linux (専用)
同じコマンドプロンプトで、macOS と Linux ユーザーが次のコマンドを実行して、スクリプトが実行可能であることを確認する必要があります。
chmod -R 755 get-logs.sh
例 最後の 5 つのログイベントを取得します
同じコマンドプロンプトで、次のスクリプトを実行して、最後の 5 つのログイベントを取得します。
./get-logs.sh
次のような出力が表示されます。
{
"StatusCode": 200,
"ExecutedVersion": "$LATEST"
}
{
"events": [
{
"timestamp": 1559763003171,
"message": "START RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf Version: $LATEST\n",
"ingestionTime": 1559763003309
},
{
"timestamp": 1559763003173,
"message": "2019-06-05T19:30:03.173Z\t4ce9340a-b765-490f-ad8a-02ab3415e2bf\tINFO\tENVIRONMENT VARIABLES\r{\r \"AWS_LAMBDA_FUNCTION_VERSION\": \"$LATEST\",\r ...",
"ingestionTime": 1559763018353
},
{
"timestamp": 1559763003173,
"message": "2019-06-05T19:30:03.173Z\t4ce9340a-b765-490f-ad8a-02ab3415e2bf\tINFO\tEVENT\r{\r \"key\": \"value\"\r}\n",
"ingestionTime": 1559763018353
},
{
"timestamp": 1559763003218,
"message": "END RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf\n",
"ingestionTime": 1559763018353
},
{
"timestamp": 1559763003218,
"message": "REPORT RequestId: 4ce9340a-b765-490f-ad8a-02ab3415e2bf\tDuration: 26.73 ms\tBilled Duration: 27 ms \tMemory Size: 128 MB\tMax Memory Used: 75 MB\t\n",
"ingestionTime": 1559763018353
}
],
"nextForwardToken": "f/34783877304859518393868359594929986069206639495374241795",
"nextBackwardToken": "b/34783877303811383369537420289090800615709599058929582080"
}
ログの削除
関数を削除しても、ロググループは自動的には削除されません。ログが無期限に保存されないようにするには、ロググループを削除するか、ログが自動的に削除されるまでの保存期間を設定します。