

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

# 日志记录任务设置
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Logging"></a>

在迁移过程中 CloudWatch ，日志使用 Amazon 来记录信息。使用日志记录任务设置，您可指定要记录的组件活动以及将写入日志的信息量。日志记录任务设置写入到 JSON 文件。有关如何使用任务配置文件来设置任务设置的信息，请参阅[任务设置示例](CHAP_Tasks.CustomizingTasks.TaskSettings.md#CHAP_Tasks.CustomizingTasks.TaskSettings.Example)。

您可以通过多种方式开启 CloudWatch 日志记录。创建迁移任务 AWS 管理控制台 时，可以选择上的`EnableLogging`选项。或者，您可以在使用 AWS DMS API 创建任务`true`时将该`EnableLogging`选项设置为。也可以任务设置的日志记录部分的 JSON 形式指定 `"EnableLogging": true`。

如果设置`EnableLogging`为`true`，则按如下方式 AWS DMS 分配 CloudWatch 群组名称和直播名称。您无法直接设置这些值。
+ **CloudWatchLogGroup**: `dms-tasks-<REPLICATION_INSTANCE_IDENTIFIER>`
+ **CloudWatchLogStream**: `dms-task-<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>`

`<REPLICATION_INSTANCE_IDENTIFIER>` 是复制实例的标识符。`<REPLICATION_TASK_EXTERNAL_RESOURCE_ID>` 是任务 ARN 的 `<resourcename>` 部分的值。有关如何 AWS DMS 生成资源的信息 ARNs，请参阅[为其构造亚马逊资源名称 (ARN) AWS DMS](CHAP_Introduction.AWS.ARN.md)。

CloudWatch 与 AWS Identity and Access Management (IAM) 集成，您可以指定 AWS 账户中的用户可以执行哪些 CloudWatch操作。有关使用 IAM 的更多信息 CloudWatch，请参阅《亚马逊* CloudWatch 用户指南》中的 “[亚马逊身份 CloudWatch和访问管理](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)” 和 “[记录亚马逊 CloudWatch API 调用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html)”。*

要删除任务日志，可以在任务设置日志记录部分的 JSON 中将 `DeleteTaskLogs` 设置为 true。

您可以为以下事件类型指定日志记录：
+ `FILE_FACTORY` – 文件工厂管理用于批量应用和批量加载的文件，并管理 Amazon S3 端点。
+ `METADATA_MANAGER` – 元数据管理器在复制期间管理源和目标元数据、分区和表状态。
+ `SORTER` – `SORTER` 接收来自 `SOURCE_CAPTURE` 进程的传入事件。这些事件在事务中进行批处理，然后传送给 `TARGET_APPLY` 服务组件。如果 `SOURCE_CAPTURE` 进程生成事件的速度超过 `TARGET_APPLY` 组件消耗事件的速度，则 `SORTER` 组件会将积压的事件缓存到磁盘或交换文件中。缓存的事件是复制实例中存储空间不足的常见原因。

  `SORTER` 服务组件管理缓存的事件、收集 CDC 统计数据并报告任务延迟。
+ `SOURCE_CAPTURE` – 从源数据库或服务中捕获持续复制（CDC）数据，并传送到 SORTER 服务组件。
+ `SOURCE_UNLOAD` – 在完全加载期间从源数据库或服务中卸载数据。
+ `TABLES_MANAGER` – 表格管理器跟踪捕获的表、管理表迁移顺序并收集表统计信息。
+ `TARGET_APPLY` – 数据和数据定义语言（DDL）语句将应用于目标数据库。
+ `TARGET_LOAD` – 数据已加载到目标数据库中。
+ `TASK_MANAGER` – 任务管理器管理进行中任务，并将任务分解为子任务以进行并行数据处理。
+ `TRANSFORMATION` – 表映射转换事件。有关更多信息，请参阅 [使用表映射指定任务设置](CHAP_Tasks.CustomizingTasks.TableMapping.md)。
+ `VALIDATOR/ VALIDATOR_EXT` – `VALIDATOR` 服务组件验证数据是否已准确地从源迁移到目标。有关更多信息，请参阅 [数据验证](CHAP_Validating.md)。
+ `DATA_RESYNC` – 数据重新同步功能的常用组件，用于管理数据重新同步流程。有关更多信息，请参阅 [AWS DMS 数据重新同步](CHAP_Validating.DataResync.md)。
+ `RESYNC_UNLOAD` – 在重新同步流程期间从源数据库或服务中卸载数据。
+ `RESYNC_APPLY` – 在重新同步期间，数据操作语言（DML）语句应用于目标数据库。

使用 `LOGGER_SEVERITY_DETAILED_DEBUG` 日志严重性级别时，以下日志组件会生成大量日志：
+ `COMMON`
+ `ADDONS`
+ `DATA_STRUCTURE`
+ `COMMUNICATION`
+ `FILE_TRANSFER`
+ `FILE_FACTORY`

在故障排除期间，这些组件很少需要 `DEFAULT` 以外的其他日志级别。除非Su AWS pport特别要求，否则我们不建议更改这些组件的日志级别。`DEFAULT`

指定上述任一操作后，您可以指定记录的信息量，如以下列表所示。

严重性级别按信息的最低级别到最高级别排列。较高级别始终包含较低级别的信息。
+ LOGGER\$1SEVERITY\$1ERROR – 将错误消息写入日志。
+ LOGGER\$1SEVERITY\$1WARNING – 将警告和错误消息写入日志。
+ LOGGER\$1SEVERITY\$1INFO – 将信息性消息、警告和错误消息写入日志。
+ LOGGER\$1SEVERITY\$1DEFAULT – 将信息性消息、警告和错误消息写入日志。
+ LOGGER\$1SEVERITY\$1DEBUG – 将调试消息、信息性消息、警告和错误消息写入日志。
+ LOGGER\$1SEVERITY\$1DETAILED\$1DEBUG – 将所有信息写入日志。

以下 JSON 示例显示了用于记录所有操作和严重性级别的任务设置。

```
…
  "Logging": {
    "EnableLogging": true,
    "LogComponents": [
      {
        "Id": "FILE_FACTORY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "METADATA_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SORTER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SOURCE_CAPTURE",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "SOURCE_UNLOAD",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TABLES_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TARGET_APPLY",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      },{
        "Id": "TARGET_LOAD",
        "Severity": "LOGGER_SEVERITY_INFO"
      },{
        "Id": "TASK_MANAGER",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },{
        "Id": "TRANSFORMATION",
        "Severity": "LOGGER_SEVERITY_DEBUG"
      },{
        "Id": "VALIDATOR",
        "Severity": "LOGGER_SEVERITY_DEFAULT"
      }
    ],
    "CloudWatchLogGroup": null,
    "CloudWatchLogStream": null
  }, 
…
```