

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

# 日志管理器
<a name="log-manager-component"></a>

**警告**  
我们建议升级到日志管理器 v2.3.5 或更高版本。版本 2.3.5 优化了日志管理器配置写入，减少了 IO 操作，提高了日志上传速度和设备整体性能，并可能延长设备寿命。

日志管理器组件 (`aws.greengrass.LogManager`) 将日志从 AWS IoT Greengrass 核心设备上传到 Amazon CloudWatch 日志。您可以上传来自 Greengrass Nucleus、其他 Greengrass 组件以及其他非 Greengrass 组件的应用程序和服务的日志。有关如何监控日志和本地文件系统上的 CloudWatch 日志的更多信息，请参阅[监控 AWS IoT Greengrass 日志](monitor-logs.md)。

<a name="log-manager-considerations-intro"></a>使用日志管理器组件写入日志时，需要考虑以下注意事项： CloudWatch <a name="log-manager-considerations"></a>
+ **日志延迟**

  日志管理器组件版本 2.2.8（及更早版本）仅处理和上传轮换日志文件中的日志。默认情况下， AWS IoT Greengrass Core 软件每小时或在 1,024 KB 之后轮换一次日志文件。因此，只有在 C AWS IoT Greengrass ore 软件或 Greengrass 组件写入价值超过 1,024 KB 的日志之后，日志管理器组件才会上传日志。您可以配置更低的日志文件大小限制，从而更频繁地轮换日志文件。这会导致日志管理器组件更频繁地将 CloudWatch 日志上传到日志。

  日志管理器组件版本 2.3.0（及更高版本）会处理并上传所有日志。写入新日志时，日志管理器版本 2.3.0（及更高版本）会处理并直接上传该活动日志文件，而不会等待其轮换。这意味着您可以在 5 分钟或更短时间内查看新日志。

  日志管理器组件会定期上传新日志。默认情况下，日志管理器组件每 5 分钟上传一次新日志。您可以配置较低的上传间隔，以便日志管理器组件通过配置来更频繁地将 CloudWatch 日志上传到日志。`periodicUploadIntervalSec`有关如何配置此周期性间隔的更多信息，请参阅[配置](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration)。

  日志可以从同一 Greengrass 文件系统近乎实时地上传。如果您需要实时观察日志，可考虑使用[文件系统日志](monitor-logs.md#access-local-logs)。
**注意**  
如果您使用不同的文件系统写入日志，日志管理器会恢复到日志管理器组件版本 2.2.8 及更早版本中的行为。有关访问文件系统日志的信息，请参阅[访问文件系统日志](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs)。
+ **时钟偏差**

  日志管理器组件使用标准的签名版本 4 签名流程来创建对 CloudWatch 日志的 API 请求。如果核心设备上的系统时间不同步超过 15 分钟，则 CloudWatch Logs 会拒绝请求。有关更多信息，请参阅《AWS 一般参考》中的[签名版本 4 签名流程](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html)。

有关此组件向其上传日志的日志组和日志流的信息，请参阅 [用法](#log-manager-component-usage)。

**Topics**
+ [版本](#log-manager-component-versions)
+ [Type](#log-manager-component-type)
+ [操作系统](#log-manager-component-os-support)
+ [要求](#log-manager-component-requirements)
+ [依赖项](#log-manager-component-dependencies)
+ [配置](#log-manager-component-configuration)
+ [用法](#log-manager-component-usage)
+ [本地日志文件](#log-manager-component-log-file)
+ [更改日志](#log-manager-component-changelog)

## 版本
<a name="log-manager-component-versions"></a>

此组件具有以下版本：
+ 2.3.x
+ 2.2.x
+ 2.1.x
+ 2.0.x

## Type
<a name="log-manager-component-type"></a>

<a name="public-component-type-plugin-para1"></a>此组件是一个插件组件 (`aws.greengrass.plugin`)。[Greengrass Nucleus](greengrass-nucleus-component.md) 在与该 Nucleus 相同的 Java 虚拟机（JVM）中运行该组件。当您在核心设备上更改此组件的版本时，Nucleus 会重新启动。

<a name="public-component-type-plugin-para2"></a>此组件使用与 Greengrass Nucleus 相同的日志文件。有关更多信息，请参阅 [监控 AWS IoT Greengrass 日志](monitor-logs.md)。

<a name="public-component-type-more-information"></a>有关更多信息，请参阅 [组件类型](develop-greengrass-components.md#component-types)。

## 操作系统
<a name="log-manager-component-os-support"></a>

此组件可以安装在运行以下操作系统的核心设备上：
+ Linux
+ Windows

## 要求
<a name="log-manager-component-requirements"></a>

此组件具有以下要求：
+ [Greengrass 设备角色](device-service-role.md)必须允许执行 `logs:CreateLogGroup`、`logs:CreateLogStream`、`logs:PutLogEvents` 和 `logs:DescribeLogStreams` 操作，如以下示例 IAM 策略中所示。

  ```
  {
    "Version": "2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "logs:CreateLogGroup",
          "logs:CreateLogStream",
          "logs:PutLogEvents",
          "logs:DescribeLogStreams"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:logs:*:*:*"
      }
    ]
  }
  ```
**注意**  
默认[情况下，您在安装 Core 软件时创建的 Greengrass 设备](device-service-role.md)角色包含 AWS IoT Greengrass 此示例策略中的权限。

  有关更多信息，请参阅 A *ma CloudWatch zon Logs 用户*指南中的[使用基于身份的 CloudWatch 日志策略（IAM 策略）](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/iam-identity-based-access-control-cwl.html)。
+ 日志管理器组件支持在 VPC 中运行。要在 VPC 中部署此组件，需要满足以下条件。
  + 日志管理器组件必须连接至 VPC 端点为 `com.amazonaws.us-east-1.logs` 的 `logs.region.amazonaws.com`。

### 端点和端口
<a name="log-manager-component-endpoints"></a>

除基本操作所需的端点和端口外，此组件还必须能够对以下端点和端口执行出站请求。有关更多信息，请参阅 [允许设备流量通过代理或防火墙](allow-device-traffic.md)。


| 端点 | 端口： | 必需 | 说明 | 
| --- | --- | --- | --- | 
|  `logs.region.amazonaws.com`  | 443 | 否 |  如果将日志写入日 CloudWatch 志，则为必填项。  | 

## 依赖项
<a name="log-manager-component-dependencies"></a>

部署组件时， AWS IoT Greengrass 还会部署其依赖项的兼容版本。这意味着您必须满足组件及其所有依赖关系的要求，才能成功部署组件。本部分列出了此组件的[已发布版本](#log-manager-component-changelog)的依赖关系，以及定义每个依赖关系的组件版本的语义版本约束。您还可以在 [AWS IoT Greengrass 控制台](https://console.aws.amazon.com//greengrass)中查看每个组件版本的依赖关系。在组件详细信息页面上，查找**依赖关系**列表。

------
#### [ 2.3.11 ]

下表列出了此组件版本 2.3.11 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.17.0 | 软性 | 

------
#### [ 2.3.10 ]

下表列出了此组件版本 2.3.10 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.16.0 | 软性 | 

------
#### [ 2.3.9 ]

下表列出了此组件版本 2.3.9 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.15.0 | 软性 | 

------
#### [ 2.3.8 ]

下表列出了此组件的版本 2.3.8 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.14.0 | 软性 | 

------
#### [ 2.3.7 ]

下表列出了此组件的版本 2.3.7 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.13.0 | 软性 | 

------
#### [ 2.3.5 and 2.3.6 ]

下表列出了此组件的版本 2.3.5 和 2.3.6 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.12.0 | 软性 | 

------
#### [ 2.3.3 – 2.3.4 ]

下表列出了此组件的版本 2.3.3 到 2.3.4 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.11.0 | 软性 | 

------
#### [ 2.2.8 – 2.3.2 ]

下表列出了此组件的版本 2.2.8 到 2.3.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.10.0 | 软性 | 

------
#### [ 2.2.7 ]

下表列出了此组件版本 2.2.7 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.9.0 | 软性 | 

------
#### [ 2.2.6 ]

下表列出了此组件版本 2.2.6 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.8.0 | 软性 | 

------
#### [ 2.2.5 ]

下表列出了此组件版本 2.2.5 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.7.0 | 软性 | 

------
#### [ 2.2.1 - 2.2.4 ]

下表列出了此组件的版本 2.2.1 至 2.2.4 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.6.0 | 软性 | 

------
#### [ 2.1.3 and 2.2.0 ]

下表列出了此组件的版本 2.1.3 和 2.2.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.5.0 | 软性 | 

------
#### [ 2.1.2 ]

下表列出了此组件的版本 2.1.2 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.4.0 | 软性 | 

------
#### [ 2.1.1 ]

下表列出了此组件的版本 2.1.1 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.3.0 | 软性 | 

------
#### [ 2.1.0 ]

下表列出了此组件版本 2.1.0 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) | >=2.1.0 <2.2.0  | 软性 | 

------
#### [ 2.0.x ]

下表列出了此组件的版本 2.0.x 的依赖关系。


| 依赖关系 | 兼容版本 | 依赖关系类型 | 
| --- | --- | --- | 
| [Greengrass Nucleus](greengrass-nucleus-component.md) |  >=2.0.3 <2.1.0  | 软性 | 

------

有关组件依赖关系的更多信息，请参阅[组件配方参考](component-recipe-reference.md#recipe-reference-component-dependencies)。

## 配置
<a name="log-manager-component-configuration"></a>

此组件提供您可以在部署组件时自定义的以下配置参数。

------
#### [ v2.3.10 ]

`logsUploaderConfiguration`  
（可选）日志管理器组件上传的日志的配置。该对象包含以下信息：    
  `systemLogsConfiguration`   
[（可选） AWS IoT Greengrass 核心软件系统日志的配置，其中包括来自 [Greengrass](greengrass-nucleus-component.md) 核心的日志和插件组件。](develop-greengrass-components.md#component-types)指定此配置以允许日志管理器组件管理系统日志。该对象包含以下信息：    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
（可选）您可以将系统日志上传到 CloudWatch 日志。  
默认值：`false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。只有将 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)配置为输出 JSON 格式的日志时，此最低级别才适用。要启用 JSON 格式日志，请将[日志记录格式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)参数 (`logging.format`) 指定为 `JSON`。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
（可选）Greengrass 系统日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。在 Greengrass 系统日志文件的总大小超过此最大总大小后，核心软件会删除最旧的 Greengrass 系统日志文件。 AWS IoT Greengrass   
此参数等同于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`)。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为最大总 Greengrass 系统日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
  `componentLogsConfigurationMap`   
（可选）核心设备上组件的日志配置映射。此映射中的每个 `componentName` 对象都定义了组件或应用程序的日志配置。日志管理器组件将这些组件日志上传到日 CloudWatch 志。  
我们强烈建议每个组件使用一个配置密钥。使用 `logFileRegex` 时，您应该只将一组只有一个正在被写入的日志文件的文件组为目标。不遵循此建议可能会导致重复的日志上传到 CloudWatch。如果您使用单个正则表达式以多个活动日志文件为目标，我们建议您升级到日志管理器 v2.3.1 或更高版本，并考虑使用[示例配置](#log-manager-multiple-logs-v2.3.10)更改您的配置。
如果要从 v2.2.0 之前的日志管理器版本升级，则可以继续使用 `componentLogsConfiguration` 列表，而不是 `componentLogsConfigurationMap`。但是，我们强烈建议您使用映射格式，以便可以使用合并和重置更新来修改特定组件的配置。有关 `componentLogsConfiguration` 参数的信息，请参阅此组件 v2.1.x 的配置参数。  
*`componentName`*  
*`componentName`* 组件的日志配置或此日志配置的应用程序。您可以指定 Greengrass 组件的名称或其他值来标识此日志组。  
每个对象包含以下信息：    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。仅当此组件的日志使用特定的 JSON 格式时，此最低级别才适用，您可以在[AWS IoT Greengrass 日志模块](https://github.com/aws-greengrass/aws-greengrass-logging-java)存储库中找到该格式 GitHub。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
（可选）此组件的所有日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。此组件日志文件的总大小超过此最大总大小后， AWS IoT Greengrass Core 软件将删除该组件最旧的日志文件。  
此参数与 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`) 有关。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为此组件的最大总日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
（可选）包含此组件日志文件的文件夹的路径。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
默认值：`/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
（可选）用于指定组件或应用程序使用的日志文件名格式的正则表达式。日志管理器组件使用此正则表达式来识别位于 `logFileDirectoryPath` 的文件夹中的日志文件。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
如果您的组件或应用程序轮换日志文件，请指定与轮换的日志文件名相匹配的正则表达式。例如，您可以指定 **hello\$1world\$1\$1\$1\$1w\$1.log** 上传 Hello World 应用程序的日志。`\\\\w*` 模式匹配零个或多个单词字符，其中包括字母数字字符和下划线。此正则表达式匹配名称中带有时间戳和不带时间戳的日志文件。在此示例中，日志管理器将上传以下日志文件：  
+ `hello_world.log` – Hello World 应用程序的最新日志文件。
+ `hello_world_2020_12_15_17_0.log` – Hello World 应用程序的旧日志文件。
默认：`componentName\\\\w*.log`，其中*componentName*是此日志配置的组件名称。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
（可选）用于标识新行上的日志消息属于新日志消息的正则表达式。如果正则表达式与新行不匹配，则日志管理器组件会将新行附加到上一行的日志消息。  
默认情况下，日志管理器组件会检查该行是否以空格字符（例如制表符或空格）开头。如果不是，则日志管理器会将该行作为新的日志消息处理。否则，它会将该行附加到当前日志消息。此行为可确保日志管理器组件不会拆分跨多行的消息，例如堆栈跟踪。

  `periodicUploadIntervalSec`   
（可选）日志管理器组件检查要上传的新日志文件的周期（以秒为单位）。  
默认值：`300`（5 分钟）  
最小值：`0.000001`（1 微秒）

`updateToTlogIntervalSec`  
（可选）Nucleus 将 Amazon CloudWatch Events 日志上传事件详细信息写入本地事务日志（`config.tlog`）的周期（以秒为单位）。默认为 `periodicUploadIntervalSec` 中指定的值。可修改此参数以增加写入间隔。  
默认值：`periodicUploadIntervalSec`  
最低：`periodicUploadIntervalSec`

`deprecatedVersionSupport`  
指示日志管理器是否应使用日志管理器 v2.3.5 中引入的日志记录速度改进。将值设置为 `false` 以使用改进。  
如果从日志管理器 v2.3.1 或更早版本升级时将此值设置为 `false`，可能会上传重复的日志条目。  
默认值为 `true`。

**Example 示例：配置合并更新**  
以下示例配置指定将系统日志和`com.example.HelloWorld`组件日志上传到日 CloudWatch 志。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300",
  "deprecatedVersionSupport": "false"
}
```

**Example 示例：使用日志管理器 v2.3.1 上传多个活动日志文件的配置**  
如果要以多个活动日志文件为目标，则推荐使用以下示例配置。此示例配置指定了您要上传到哪些活动日志文件 CloudWatch。使用此配置示例配置还将上传与 `logFileRegex` 匹配的所有轮换文件。日志管理器 v2.3.1 支持此示例配置。  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.3.6 – v2.3.9 ]

`logsUploaderConfiguration`  
（可选）日志管理器组件上传的日志的配置。该对象包含以下信息：    
  `systemLogsConfiguration`   
[（可选） AWS IoT Greengrass 核心软件系统日志的配置，其中包括来自 [Greengrass](greengrass-nucleus-component.md) 核心的日志和插件组件。](develop-greengrass-components.md#component-types)指定此配置以允许日志管理器组件管理系统日志。该对象包含以下信息：    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
（可选）您可以将系统日志上传到 CloudWatch 日志。  
默认值：`false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。只有将 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)配置为输出 JSON 格式的日志时，此最低级别才适用。要启用 JSON 格式日志，请将[日志记录格式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)参数 (`logging.format`) 指定为 `JSON`。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
（可选）Greengrass 系统日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。在 Greengrass 系统日志文件的总大小超过此最大总大小后，核心软件会删除最旧的 Greengrass 系统日志文件。 AWS IoT Greengrass   
此参数等同于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`)。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为最大总 Greengrass 系统日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
  `componentLogsConfigurationMap`   
（可选）核心设备上组件的日志配置映射。此映射中的每个 `componentName` 对象都定义了组件或应用程序的日志配置。日志管理器组件将这些组件日志上传到日 CloudWatch 志。  
我们强烈建议每个组件使用一个配置密钥。使用 `logFileRegex` 时，您应该只将一组只有一个正在被写入的日志文件的文件组为目标。不遵循此建议可能会导致重复的日志上传到 CloudWatch。如果您使用单个正则表达式以多个活动日志文件为目标，我们建议您升级到日志管理器 v2.3.1 或更高版本，并考虑使用[示例配置](#log-manager-multiple-logs-v2.3.1)更改您的配置。
如果要从 v2.2.0 之前的日志管理器版本升级，则可以继续使用 `componentLogsConfiguration` 列表，而不是 `componentLogsConfigurationMap`。但是，我们强烈建议您使用映射格式，以便可以使用合并和重置更新来修改特定组件的配置。有关 `componentLogsConfiguration` 参数的信息，请参阅此组件 v2.1.x 的配置参数。  
*`componentName`*  
*`componentName`* 组件的日志配置或此日志配置的应用程序。您可以指定 Greengrass 组件的名称或其他值来标识此日志组。  
每个对象包含以下信息：    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。仅当此组件的日志使用特定的 JSON 格式时，此最低级别才适用，您可以在[AWS IoT Greengrass 日志模块](https://github.com/aws-greengrass/aws-greengrass-logging-java)存储库中找到该格式 GitHub。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
（可选）此组件的所有日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。此组件日志文件的总大小超过此最大总大小后， AWS IoT Greengrass Core 软件将删除该组件最旧的日志文件。  
此参数与 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`) 有关。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为此组件的最大总日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
（可选）包含此组件日志文件的文件夹的路径。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
默认值：`/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
（可选）用于指定组件或应用程序使用的日志文件名格式的正则表达式。日志管理器组件使用此正则表达式来识别位于 `logFileDirectoryPath` 的文件夹中的日志文件。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
如果您的组件或应用程序轮换日志文件，请指定与轮换的日志文件名相匹配的正则表达式。例如，您可以指定 **hello\$1world\$1\$1\$1\$1w\$1.log** 上传 Hello World 应用程序的日志。`\\\\w*` 模式匹配零个或多个单词字符，其中包括字母数字字符和下划线。此正则表达式匹配名称中带有时间戳和不带时间戳的日志文件。在此示例中，日志管理器将上传以下日志文件：  
+ `hello_world.log` – Hello World 应用程序的最新日志文件。
+ `hello_world_2020_12_15_17_0.log` – Hello World 应用程序的旧日志文件。
默认：`componentName\\\\w*.log`，其中*componentName*是此日志配置的组件名称。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
（可选）用于标识新行上的日志消息属于新日志消息的正则表达式。如果正则表达式与新行不匹配，则日志管理器组件会将新行附加到上一行的日志消息。  
默认情况下，日志管理器组件会检查该行是否以空格字符（例如制表符或空格）开头。如果不是，则日志管理器会将该行作为新的日志消息处理。否则，它会将该行附加到当前日志消息。此行为可确保日志管理器组件不会拆分跨多行的消息，例如堆栈跟踪。

  `periodicUploadIntervalSec`   
（可选）日志管理器组件检查要上传的新日志文件的周期（以秒为单位）。  
默认值：`300`（5 分钟）  
最小值：`0.000001`（1 微秒）

`deprecatedVersionSupport`  
指示日志管理器是否应使用日志管理器 v2.3.5 中引入的日志记录速度改进。将值设置为 `false` 以使用改进。  
如果从日志管理器 v2.3.1 或更早版本升级时将此值设置为 `false`，可能会上传重复的日志条目。  
默认值为 `true`。

**Example 示例：配置合并更新**  
以下示例配置指定将系统日志和`com.example.HelloWorld`组件日志上传到日 CloudWatch 志。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300",
  "deprecatedVersionSupport": "false"
}
```

**Example 示例：使用日志管理器 v2.3.1 上传多个活动日志文件的配置**  
如果要以多个活动日志文件为目标，则推荐使用以下示例配置。此示例配置指定了您要上传到哪些活动日志文件 CloudWatch。使用此配置示例配置还将上传与 `logFileRegex` 匹配的所有轮换文件。日志管理器 v2.3.1 支持此示例配置。  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.3.0 – 2.3.5 ]

`logsUploaderConfiguration`  
（可选）日志管理器组件上传的日志的配置。该对象包含以下信息：    
  `systemLogsConfiguration`   
[（可选） AWS IoT Greengrass 核心软件系统日志的配置，其中包括来自 [Greengrass](greengrass-nucleus-component.md) 核心的日志和插件组件。](develop-greengrass-components.md#component-types)指定此配置以允许日志管理器组件管理系统日志。该对象包含以下信息：    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
（可选）您可以将系统日志上传到 CloudWatch 日志。  
默认值：`false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。只有将 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)配置为输出 JSON 格式的日志时，此最低级别才适用。要启用 JSON 格式日志，请将[日志记录格式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)参数 (`logging.format`) 指定为 `JSON`。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
（可选）Greengrass 系统日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。在 Greengrass 系统日志文件的总大小超过此最大总大小后，核心软件会删除最旧的 Greengrass 系统日志文件。 AWS IoT Greengrass   
此参数等同于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`)。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为最大总 Greengrass 系统日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
  `componentLogsConfigurationMap`   
（可选）核心设备上组件的日志配置映射。此映射中的每个 `componentName` 对象都定义了组件或应用程序的日志配置。日志管理器组件将这些组件日志上传到日 CloudWatch 志。  
我们强烈建议每个组件使用一个配置密钥。使用 `logFileRegex` 时，您应该只将一组只有一个正在被写入的日志文件的文件组为目标。不遵循此建议可能会导致重复的日志上传到 CloudWatch。如果您使用单个正则表达式以多个活动日志文件为目标，我们建议您升级到日志管理器 v2.3.1，并考虑使用[示例配置](#log-manager-multiple-logs-v2.3.1)更改您的配置。
如果要从 v2.2.0 之前的日志管理器版本升级，则可以继续使用 `componentLogsConfiguration` 列表，而不是 `componentLogsConfigurationMap`。但是，我们强烈建议您使用映射格式，以便可以使用合并和重置更新来修改特定组件的配置。有关 `componentLogsConfiguration` 参数的信息，请参阅此组件 v2.1.x 的配置参数。  
*`componentName`*  
*`componentName`* 组件的日志配置或此日志配置的应用程序。您可以指定 Greengrass 组件的名称或其他值来标识此日志组。  
每个对象包含以下信息：    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。仅当此组件的日志使用特定的 JSON 格式时，此最低级别才适用，您可以在[AWS IoT Greengrass 日志模块](https://github.com/aws-greengrass/aws-greengrass-logging-java)存储库中找到该格式 GitHub。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
（可选）此组件的所有日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。此组件日志文件的总大小超过此最大总大小后， AWS IoT Greengrass Core 软件将删除该组件最旧的日志文件。  
此参数与 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`) 有关。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为此组件的最大总日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
（可选）包含此组件日志文件的文件夹的路径。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
默认值：`/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
（可选）用于指定组件或应用程序使用的日志文件名格式的正则表达式。日志管理器组件使用此正则表达式来识别位于 `logFileDirectoryPath` 的文件夹中的日志文件。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
如果您的组件或应用程序轮换日志文件，请指定与轮换的日志文件名相匹配的正则表达式。例如，您可以指定 **hello\$1world\$1\$1\$1\$1w\$1.log** 上传 Hello World 应用程序的日志。`\\\\w*` 模式匹配零个或多个单词字符，其中包括字母数字字符和下划线。此正则表达式匹配名称中带有时间戳和不带时间戳的日志文件。在此示例中，日志管理器将上传以下日志文件：  
+ `hello_world.log` – Hello World 应用程序的最新日志文件。
+ `hello_world_2020_12_15_17_0.log` – Hello World 应用程序的旧日志文件。
默认：`componentName\\\\w*.log`，其中*componentName*是此日志配置的组件名称。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
（可选）用于标识新行上的日志消息属于新日志消息的正则表达式。如果正则表达式与新行不匹配，则日志管理器组件会将新行附加到上一行的日志消息。  
默认情况下，日志管理器组件会检查该行是否以空格字符（例如制表符或空格）开头。如果不是，则日志管理器会将该行作为新的日志消息处理。否则，它会将该行附加到当前日志消息。此行为可确保日志管理器组件不会拆分跨多行的消息，例如堆栈跟踪。

  `periodicUploadIntervalSec`   
（可选）日志管理器组件检查要上传的新日志文件的周期（以秒为单位）。  
默认值：`300`（5 分钟）  
最小值：`0.000001`（1 微秒）

**Example 示例：配置合并更新**  
以下示例配置指定将系统日志和`com.example.HelloWorld`组件日志上传到日 CloudWatch 志。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300"
}
```

**Example 示例：使用日志管理器 v2.3.1 上传多个活动日志文件的配置**  
如果要以多个活动日志文件为目标，则推荐使用以下示例配置。此示例配置指定了您要上传到哪些活动日志文件 CloudWatch。使用此配置示例配置还将上传与 `logFileRegex` 匹配的所有轮换文件。日志管理器 v2.3.1 支持此示例配置。  

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.A": {
        "logFileRegex": "com.example.A\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
      "com.example.B": {
        "logFileRegex": "com.example.B\\w*.log",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "10"
}
```

------
#### [ v2.2.x ]

`logsUploaderConfiguration`  
（可选）日志管理器组件上传的日志的配置。该对象包含以下信息：    
  `systemLogsConfiguration`   
[（可选） AWS IoT Greengrass 核心软件系统日志的配置，其中包括来自 [Greengrass](greengrass-nucleus-component.md) 核心的日志和插件组件。](develop-greengrass-components.md#component-types)指定此配置以允许日志管理器组件管理系统日志。该对象包含以下信息：    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
（可选）您可以将系统日志上传到 CloudWatch 日志。  
默认值：`false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。只有将 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)配置为输出 JSON 格式的日志时，此最低级别才适用。要启用 JSON 格式日志，请将[日志记录格式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)参数 (`logging.format`) 指定为 `JSON`。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
（可选）Greengrass 系统日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。在 Greengrass 系统日志文件的总大小超过此最大总大小后，核心软件会删除最旧的 Greengrass 系统日志文件。 AWS IoT Greengrass   
此参数等同于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`)。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为最大总 Greengrass 系统日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
  `componentLogsConfigurationMap`   
（可选）核心设备上组件的日志配置映射。此映射中的每个 `componentName` 对象都定义了组件或应用程序的日志配置。日志管理器组件将这些组件日志上传到日 CloudWatch 志。  
如果要从 v2.2.0 之前的日志管理器版本升级，则可以继续使用 `componentLogsConfiguration` 列表，而不是 `componentLogsConfigurationMap`。但是，我们强烈建议您使用映射格式，以便可以使用合并和重置更新来修改特定组件的配置。有关 `componentLogsConfiguration` 参数的信息，请参阅此组件 v2.1.x 的配置参数。  
*`componentName`*  
*`componentName`* 组件的日志配置或此日志配置的应用程序。您可以指定 Greengrass 组件的名称或其他值来标识此日志组。  
每个对象包含以下信息：    
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。仅当此组件的日志使用特定的 JSON 格式时，此最低级别才适用，您可以在[AWS IoT Greengrass 日志模块](https://github.com/aws-greengrass/aws-greengrass-logging-java)存储库中找到该格式 GitHub。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
（可选）此组件的所有日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。此组件日志文件的总大小超过此最大总大小后， AWS IoT Greengrass Core 软件将删除该组件最旧的日志文件。  
此参数与 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`) 有关。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为此组件的最大总日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
（可选）包含此组件日志文件的文件夹的路径。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
默认值：`/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
（可选）用于指定组件或应用程序使用的日志文件名格式的正则表达式。日志管理器组件使用此正则表达式来识别位于 `logFileDirectoryPath` 的文件夹中的日志文件。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
如果您的组件或应用程序轮换日志文件，请指定与轮换的日志文件名相匹配的正则表达式。例如，您可以指定 **hello\$1world\$1\$1\$1\$1w\$1.log** 上传 Hello World 应用程序的日志。`\\\\w*` 模式匹配零个或多个单词字符，其中包括字母数字字符和下划线。此正则表达式匹配名称中带有时间戳和不带时间戳的日志文件。在此示例中，日志管理器将上传以下日志文件：  
+ `hello_world.log` – Hello World 应用程序的最新日志文件。
+ `hello_world_2020_12_15_17_0.log` – Hello World 应用程序的旧日志文件。
默认：`componentName\\\\w*.log`，其中*componentName*是此日志配置的组件名称。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
（可选）用于标识新行上的日志消息属于新日志消息的正则表达式。如果正则表达式与新行不匹配，则日志管理器组件会将新行附加到上一行的日志消息。  
默认情况下，日志管理器组件会检查该行是否以空格字符（例如制表符或空格）开头。如果不是，则日志管理器会将该行作为新的日志消息处理。否则，它会将该行附加到当前日志消息。此行为可确保日志管理器组件不会拆分跨多行的消息，例如堆栈跟踪。

  `periodicUploadIntervalSec`   
（可选）日志管理器组件检查要上传的新日志文件的周期（以秒为单位）。  
默认值：`300`（5 分钟）  
最小值：`0.000001`（1 微秒）

**Example 示例：配置合并更新**  
以下示例配置指定将系统日志和`com.example.HelloWorld`组件日志上传到日 CloudWatch 志。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    }
  },
  "periodicUploadIntervalSec": "300"
}
```

------
#### [ v2.1.x ]

`logsUploaderConfiguration`  
（可选）日志管理器组件上传的日志的配置。该对象包含以下信息：    
 `systemLogsConfiguration`   
[（可选） AWS IoT Greengrass 核心软件系统日志的配置，其中包括来自 [Greengrass](greengrass-nucleus-component.md) 核心的日志和插件组件。](develop-greengrass-components.md#component-types)指定此配置以允许日志管理器组件管理系统日志。该对象包含以下信息：    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
（可选）您可以将系统日志上传到 CloudWatch 日志。  
默认值：`false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。只有将 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)配置为输出 JSON 格式的日志时，此最低级别才适用。要启用 JSON 格式日志，请将[日志记录格式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)参数 (`logging.format`) 指定为 `JSON`。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
（可选）Greengrass 系统日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。在 Greengrass 系统日志文件的总大小超过此最大总大小后，核心软件会删除最旧的 Greengrass 系统日志文件。 AWS IoT Greengrass   
此参数等同于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`)。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为最大总 Greengrass 系统日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
  `componentLogsConfiguration`   
（可选）核心设备上组件的日志配置列表。此列表中的每个配置都定义了组件或应用程序的日志配置。日志管理器组件将这些组件日志上传到 CloudWatch Logs  
每个对象包含以下信息：    
`componentName`  <a name="log-manager-component-configuration-component-component-name"></a>
此日志配置的组件或应用程序的名称。您可以指定 Greengrass 组件的名称或其他值来标识此日志组。  
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。仅当此组件的日志使用特定的 JSON 格式时，此最低级别才适用，您可以在[AWS IoT Greengrass 日志模块](https://github.com/aws-greengrass/aws-greengrass-logging-java)存储库中找到该格式 GitHub。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
（可选）此组件的所有日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。此组件日志文件的总大小超过此最大总大小后， AWS IoT Greengrass Core 软件将删除该组件最旧的日志文件。  
此参数与 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`) 有关。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为此组件的最大总日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`logFileDirectoryPath`  <a name="log-manager-component-configuration-component-log-file-dir-path"></a>
（可选）包含此组件日志文件的文件夹的路径。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
默认值：`/greengrass/v2/logs`。  
`logFileRegex`  <a name="log-manager-component-configuration-component-log-file-regex"></a>
（可选）用于指定组件或应用程序使用的日志文件名格式的正则表达式。日志管理器组件使用此正则表达式来识别位于 `logFileDirectoryPath` 的文件夹中的日志文件。  
对于打印到标准输出（stdout）和标准错误（stderr）的 Greengrass 组件，无需指定此参数。  
如果您的组件或应用程序轮换日志文件，请指定与轮换的日志文件名相匹配的正则表达式。例如，您可以指定 **hello\$1world\$1\$1\$1\$1w\$1.log** 上传 Hello World 应用程序的日志。`\\\\w*` 模式匹配零个或多个单词字符，其中包括字母数字字符和下划线。此正则表达式匹配名称中带有时间戳和不带时间戳的日志文件。在此示例中，日志管理器将上传以下日志文件：  
+ `hello_world.log` – Hello World 应用程序的最新日志文件。
+ `hello_world_2020_12_15_17_0.log` – Hello World 应用程序的旧日志文件。
默认：`componentName\\\\w*.log`，其中*componentName*是此日志配置的组件名称。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
（可选）用于标识新行上的日志消息属于新日志消息的正则表达式。如果正则表达式与新行不匹配，则日志管理器组件会将新行附加到上一行的日志消息。  
默认情况下，日志管理器组件会检查该行是否以空格字符（例如制表符或空格）开头。如果不是，则日志管理器会将该行作为新的日志消息处理。否则，它会将该行附加到当前日志消息。此行为可确保日志管理器组件不会拆分跨多行的消息，例如堆栈跟踪。

 `periodicUploadIntervalSec`   
（可选）日志管理器组件检查要上传的新日志文件的周期（以秒为单位）。  
默认值：`300`（5 分钟）  
最小值：`0.000001`（1 微秒）

**Example 示例：配置合并更新**  
以下示例配置指定将系统日志和`com.example.HelloWorld`组件日志上传到日 CloudWatch 志。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfiguration": [
      {
        "componentName": "com.example.HelloWorld",
        "minimumLogLevel": "INFO",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    ]
  },
  "periodicUploadIntervalSec": "300"
}
```

------
#### [ v2.0.x ]

`logsUploaderConfiguration`  
（可选）日志管理器组件上传的日志的配置。该对象包含以下信息：    
`systemLogsConfiguration`  
（可选） AWS IoT Greengrass Core 软件系统日志的配置。指定此配置以允许日志管理器组件管理系统日志。该对象包含以下信息：    
`uploadToCloudWatch`  <a name="log-manager-component-configuration-system-upload-to-cloud-watch"></a>
（可选）您可以将系统日志上传到 CloudWatch 日志。  
默认值：`false`  
`minimumLogLevel`  <a name="log-manager-component-configuration-system-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。只有将 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)配置为输出 JSON 格式的日志时，此最低级别才适用。要启用 JSON 格式日志，请将[日志记录格式](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format)参数 (`logging.format`) 指定为 `JSON`。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-system-disk-space-limit"></a>
（可选）Greengrass 系统日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。在 Greengrass 系统日志文件的总大小超过此最大总大小后，核心软件会删除最旧的 Greengrass 系统日志文件。 AWS IoT Greengrass   
此参数等同于 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`)。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为最大总 Greengrass 系统日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`componentLogsConfiguration`  
（可选）核心设备上组件的日志配置列表。此列表中的每个配置都定义了组件或应用程序的日志配置。日志管理器组件将这些组件日志上传到 CloudWatch Logs  
每个对象包含以下信息：    
`componentName`  <a name="log-manager-component-configuration-component-component-name"></a>
此日志配置的组件或应用程序的名称。您可以指定 Greengrass 组件的名称或其他值来标识此日志组。  
`minimumLogLevel`  <a name="log-manager-component-configuration-component-minimum-log-level"></a>
（可选）要上传的日志消息的最低级别。仅当此组件的日志使用特定的 JSON 格式时，此最低级别才适用，您可以在[AWS IoT Greengrass 日志模块](https://github.com/aws-greengrass/aws-greengrass-logging-java)存储库中找到该格式 GitHub。  
从以下日志级别中选择，此处按级别顺序列出：  <a name="nucleus-log-levels"></a>
+ `DEBUG`
+ `INFO`
+ `WARN`
+ `ERROR`
默认值：`INFO`  
`diskSpaceLimit`  <a name="log-manager-component-configuration-component-disk-space-limit"></a>
（可选）此组件的所有日志文件的最大总大小，以您在 `diskSpaceLimitUnit` 中指定的单位为单位。此组件日志文件的总大小超过此最大总大小后， AWS IoT Greengrass Core 软件将删除该组件最旧的日志文件。  
此参数与 [Greengrass Nucleus 组件](greengrass-nucleus-component.md)的[日志大小限制](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-system-logs-limit)参数 (`totalLogsSizeKB`) 有关。 AWS IoT Greengrass Core 软件使用两个值中的最小值作为此组件的最大总日志大小。  
`diskSpaceLimitUnit`  <a name="log-manager-component-configuration-disk-space-limit-unit"></a>
（可选）`diskSpaceLimit` 的单位。从以下选项中进行选择：  
+ `KB` – 千字节
+ `MB` – 兆字节
+ `GB` – 千兆字节
默认值：`KB`  
`logFileDirectoryPath`  
包含此组件日志文件的文件夹的路径。  
要上传 Greengrass 组件的日志，请指定 **`/greengrass/v2`/logs**，并将 `/greengrass/v2` 替换为您的 Greengrass 根文件夹。  
`logFileRegex`  
用于指定组件或应用程序使用的日志文件名格式的正则表达式。日志管理器组件使用此正则表达式来识别位于 `logFileDirectoryPath` 的文件夹中的日志文件。  
要上传 Greengrass 组件的日志，请指定与轮换的日志文件名相匹配的正则表达式。例如，您可以指定 **com.example.HelloWorld\$1\$1w\$1.log** 上传 Hello World 组件的日志。`\\w*` 模式匹配零个或多个单词字符，其中包括字母数字字符和下划线。此正则表达式匹配名称中带有时间戳和不带时间戳的日志文件。在此示例中，日志管理器将上传以下日志文件：  
+ `com.example.HelloWorld.log` – Hello World 组件的最新日志文件。
+ `com.example.HelloWorld_2020_12_15_17_0.log` – Hello World 组件的旧日志文件。Greengrass Nucleus 向日志文件中添加轮换时间戳。  
`deleteLogFileAfterCloudUpload`  <a name="log-manager-component-configuration-delete-log-file-after-cloud-upload"></a>
（可选）在日志管理器组件将日志上传到 CloudWatch 日志后，您可以删除日志文件。  
默认值：`false`  
`multiLineStartPattern`  <a name="log-manager-component-configuration-component-multi-line-start-pattern"></a>
（可选）用于标识新行上的日志消息属于新日志消息的正则表达式。如果正则表达式与新行不匹配，则日志管理器组件会将新行附加到上一行的日志消息。  
默认情况下，日志管理器组件会检查该行是否以空格字符（例如制表符或空格）开头。如果不是，则日志管理器会将该行作为新的日志消息处理。否则，它会将该行附加到当前日志消息。此行为可确保日志管理器组件不会拆分跨多行的消息，例如堆栈跟踪。

`periodicUploadIntervalSec`  
（可选）日志管理器组件检查要上传的新日志文件的周期（以秒为单位）。  
默认值：`300`（5 分钟）  
最小值：`0.000001`（1 微秒）

**Example 示例：配置合并更新**  
以下示例配置指定将系统日志和`com.example.HelloWorld`组件日志上传到日 CloudWatch 志。  

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true",
      "minimumLogLevel": "INFO",
      "diskSpaceLimit": "10",
      "diskSpaceLimitUnit": "MB",
      "deleteLogFileAfterCloudUpload": "false"
    },
    "componentLogsConfiguration": [
      {
        "componentName": "com.example.HelloWorld",
        "minimumLogLevel": "INFO",
        "logFileDirectoryPath": "/greengrass/v2/logs",
        "logFileRegex": "com.example.HelloWorld\\w*.log",
        "diskSpaceLimit": "20",
        "diskSpaceLimitUnit": "MB",
        "deleteLogFileAfterCloudUpload": "false"
      }
    ]
  },
  "periodicUploadIntervalSec": "300"
}
```

------

## 用法
<a name="log-manager-component-usage"></a>

日志管理器组件将上传到以下日志组和日志流中。

------
#### [ 2.1.0 and later ]<a name="log-manager-log-group-stream-format"></a>

**日志组名称**  

```
/aws/greengrass/componentType/region/componentName
```
日志组名称使用以下变量：  
+ `componentType` – 组件的类型，可以为以下类型之一：
  + `GreengrassSystemComponent` – 此日志组包括针对内核和插件组件的日志，它们与 Greengrass Nucleus 在同一 JVM 中运行。组件是 [Greengrass Nucleus](greengrass-nucleus-component.md) 的一部分。
  + `UserComponent` – 此日志组包括针对设备上通用组件、Lambda 组件和其他应用程序的日志。组件不是 Greengrass Nucleus 的一部分。

  有关更多信息，请参阅 [组件类型](develop-greengrass-components.md#component-types)。
+ `region`— 核心设备使用的 AWS 区域。
+ `componentName` – 组件名称。对于系统日志，此值为 `System`。

**日志流名称**  

```
/date/thing/thingName
```
日志流名称使用以下变量：  
+ `date` – 日志的日期，例如 `2020/12/15`。日志管理器组件使用 `yyyy/MM/dd` 格式。
+ `thingName` – 核心设备名称。
如果事物名称包含冒号 (`:`)，则日志管理器会将冒号替换为加号 (`+`)。

------
#### [ 2.0.x ]

**日志组名称**  

```
/aws/greengrass/componentType/region/componentName
```
日志组名称使用以下变量：  
+ `componentType` – 组件的类型，可以为以下类型之一：
  + `GreengrassSystemComponent` – 组件是 [Greengrass Nucleus](greengrass-nucleus-component.md) 的一部分。
  + `UserComponent` – 组件不是 Greengrass Nucleus 的一部分。日志管理器将这种类型用于设备上的 Greengrass 组件和其他应用程序。
+ `region`— 核心设备使用的 AWS 区域。
+ `componentName` – 组件名称。对于系统日志，此值为 `System`。

**日志流名称**  

```
/date/deploymentTargets/thingName
```
日志流名称使用以下变量：  
+ `date` – 日志的日期，例如 `2020/12/15`。日志管理器组件使用 `yyyy/MM/dd` 格式。
+ `deploymentTargets` – 部署内容包含组件的事物。日志管理器组件用斜杠分隔每个目标。如果在本地部署后组件在核心设备上运行，则此值为 `LOCAL_DEPLOYMENT`。

  考虑一个示例，有一个名为 `MyGreengrassCore` 的核心设备，且该核心设备有两个部署：
  + 一个以核心设备 `MyGreengrassCore` 为目标的部署。
  + 一个以名为 `MyGreengrassCoreGroup` 的事物组（其中包含核心设备）为目标的部署。

  此核心设备的 `deploymentTargets` 是 `thing/MyGreengrassCore/thinggroup/MyGreengrassCoreGroup`。
+ `thingName` – 核心设备名称。

------

### 日志条目的格式。
<a name="log-manager-entry-format"></a>

Greengrass Nucleus 以字符串或 JSON 格式写入日志文件。对于系统日志，您可以通过设置 `logging` 条目的 `format` 字段来控制格式。您可以在 Greengrass Nucleus 组件的配置文件中找到 `logging` 条目。有关更多信息，请参阅 [Greengrass Nucleus 配置](https://docs.aws.amazon.com/greengrass/v2/developerguide/greengrass-nucleus-component.html#greengrass-nucleus-component-configuration)。

文本格式为自由格式，接受任何字符串。以下实例集状态服务消息是字符串格式日志记录的示例：

```
2023-03-26T18:18:27.271Z [INFO] (pool-1-thread-2)
com.aws.greengrass.status.FleetStatusService: fss-status-update-published. 
Status update published to FSS. {trigger=CADENCE, serviceName=FleetStatusService, 
currentState=RUNNING}
```

如果要使用 [Greengrass CLI 日志](https://docs.aws.amazon.com/greengrass/v2/developerguide/gg-cli-logs.html)命令查看日志或以编程方式与日志交互，则应使用 JSON 格式。以下示例概述了 JSON 形状：

```
{
   "loggerName": <string>,
   "level": <"DEBUG" | "INFO" | "ERROR" | "TRACE" | "WARN">,
   "eventType": <string, optional>,
   "cause": <string, optional>,
   "contexts": {},
   "thread": <string>,
   "message": <string>,
   "timestamp": <epoch time> # Needs to be epoch time
}
```

要控制组件日志的输出，可以使用 `minimumLogLevel` 配置选项。要使用此选项，您的组件必须以 JSON 格式写入其日志条目。您应使用与系统日志文件相同的格式。

## 本地日志文件
<a name="log-manager-component-log-file"></a>

此组件使用与 [Greengrass Nucleus](greengrass-nucleus-component.md) 组件相同的日志文件。

------
#### [ Linux ]

```
/greengrass/v2/logs/greengrass.log
```

------
#### [ Windows ]

```
C:\greengrass\v2\logs\greengrass.log
```

------

**查看此组件的日志**
+ 在核心设备上运行以下命令可实时查看此组件的日志文件。将`/greengrass/v2`或*C:\$1greengrass\$1v2*替换为 AWS IoT Greengrass 根文件夹的路径。

------
#### [ Linux ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

## 更改日志
<a name="log-manager-component-changelog"></a>

下表介绍每个组件版本的更改。


|  **版本**  |  **更改**  | 
| --- | --- | 
|  2.3.12  |  更新 Greengrass nucleus 版本 2.17.0 版本的组件版本。  | 
|  2.3.11  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.10  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.9  |  Greengrass nucleus 版本 2.14.0 版本的版本已更新。  | 
|  2.3.8  |  对 Greengrass Nucleus 版本 2.13.0 发行版进行了版本更新。  | 
|  2.3.7  |  版本更新为 Greengrass Nucleus 版本 2.12.0 发布版。  | 
|  2.3.6  |  <a name="changelog-log-manager-2.3.6"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.5  |  <a name="changelog-log-manager-2.3.5"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html) 版本更新为 Greengrass Nucleus 版本 2.11.0 发布版。 | 
|  2.3.4  |  <a name="changelog-log-manager-2.3.4"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.3  |  版本更新为 Greengrass Nucleus 版本 2.10.0 发布版。  | 
|  2.3.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.1  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.3.0  |   当您升级到日志管理器 2.3.0 时，我们建议您升级到 Greengrass Nucleus 2.9.1。   [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.8  | 对 Greengrass Nucleus版本 2.9.0 发行版进行了版本更新。 | 
|  2.2.7  | 版本更新为 Greengrass Nucleus 版本 2.8.0 发布版。 | 
|  2.2.6  |  版本更新为 Greengrass Nucleus 版本 2.7.0 发布版。  | 
|  2.2.5  |  版本更新为 Greengrass Nucleus 版本 2.6.0 发布版。  | 
|  2.2.4  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.3  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.2  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.2.1  |  版本更新为 Greengrass Nucleus 版本 2.5.0 发布版。  | 
|  2.2.0  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.1.3  |  版本更新为 Greengrass Nucleus 版本 2.4.0 发布版。  | 
|  2.1.2  |  版本更新为 Greengrass Nucleus 版本 2.3.0 发布版。  | 
|  2.1.1  |  <a name="changelog-log-manager-2.1.1"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.1.0  |  <a name="changelog-log-manager-2.1.0"></a>[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/greengrass/v2/developerguide/log-manager-component.html)  | 
|  2.0.x  |  初始版本。  | 