

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

# でのログの使用 AWS SAM
<a name="serverless-sam-cli-logging"></a>

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

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

## CloudFormation スタックによるログの取得
<a name="serverless-logging-cfn"></a>

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

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

## Lambda 関数名によるログの取得
<a name="serverless-logging-function"></a>

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

```
sam logs -n mystack-HelloWorldFunction-1FJ8PD
```

## ログ終端の表示
<a name="serverless-logging-tail"></a>

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

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

## 特定時間範囲のログの表示
<a name="serverless-logging-time-range"></a>

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

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

## ログのフィルタリング
<a name="serverless-logging-time-range"></a>

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

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

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

## エラーの強調表示
<a name="serverless-logging-error-highlight"></a>

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

## JSON の整形出力
<a name="serverless-logging-error-highlight"></a>

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