

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用登录 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。