AWS SAM でのログの使用 - AWS Serverless Application Model

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS SAM でのログの使用

トラブルシューティングをシンプル化するため、AWS SAM CLI には sam logs というコマンドがあります。このコマンドを使用すると、コマンドラインから Lambda 関数によって生成されたログを取得できます。

注記

sam logs コマンドは、AWS Lambda を使用してデプロイするものだけでなく、すべての AWS SAM 関数で機能します。

CloudFormation スタックによるログの取得

関数が CloudFormation スタックの一部である場合は、関数の論理 ID を使用してログを取得できます。

sam logs -n HelloWorldFunction --stack-name mystack

Lambda 関数名によるログの取得

または、関数の名前を使用してログを取得することもできます。

sam logs -n mystack-HelloWorldFunction-1FJ8PD

ログ終端の表示

--tail オプションを追加して、新しいログを待機し、到着するたびにそれらを表示します。これは、デプロイ中、または実稼働問題のトラブルシューティング時に役立ちます。

sam logs -n HelloWorldFunction --stack-name mystack --tail

特定時間範囲のログの表示

-s および -e オプションを使用して、特定の時間範囲のログを表示できます。

sam logs -n HelloWorldFunction --stack-name mystack -s '10min ago' -e '2min ago'

ログのフィルタリング

--filter オプションを使用して、ログイベントの語句、フレーズ、または値が一致するログをすばやく検索します。

sam logs -n HelloWorldFunction --stack-name mystack --filter "error"

出力では、AWS SAM CLI が「error」という単語のすべての出現箇所に下線を追加するので、ログ出力内のフィルターキーワードを簡単に見つけることができます。

エラーの強調表示

Lambda 関数がクラッシュまたはタイムアウトすると、AWS SAM CLI がタイムアウトメッセージを赤色でハイライトします。これは、ログ出力の巨大なストリーム内で、タイムアウトしている特定の実行を簡単に見つけるために役立ちます。

JSON の整形出力

ログメッセージが JSON 文字列で出力表示される場合、AWS SAM CLI は、JSON を視覚的に解析して理解できるように、JSON を自動的に整形出力します。