

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 記錄任務設定
<a name="CHAP_Tasks.CustomizingTasks.TaskSettings.Logging"></a>

日誌記錄會使用 Amazon CloudWatch 來在遷移程序期間記錄資訊。您可以使用記錄任務設定，指定要記錄哪些元件活動，以及要將哪些資訊寫入日誌。記錄日誌任務設定會寫入 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 的資訊，請參閱 [建構 的 Amazon Resource Name (ARN) AWS DMS](CHAP_Introduction.AWS.ARN.md)。

CloudWatch 與 AWS Identity and Access Management (IAM) 整合，您可以指定 AWS 帳戶中的使用者可執行哪些 CloudWatch 動作。如需有關在 CloudWatch 中使用 IAM 的詳細資訊，請參閱《*Amazon CloudWatch 使用者指南*》中的「[適用於 Amazon CloudWatch 的 Identity and Access Management](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)」和「[記錄 Amazon CloudWatch API 呼叫](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/logging_cw_api_calls.html)」。

若要刪除任務日誌，您可以在任務設定的日誌記錄區段中以 JSON 設定 `DeleteTaskLogs` 為真。

您可以為下列事件類型指定日誌記錄：
+ `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` 以外的日誌記錄層級。除非 AWS Support 特別要求，否則我們不建議變更這些元件`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
  }, 
…
```