# @cumulus/logger 中文文档

规范地址：https://npmcn.com/package/%40cumulus/logger/

版本：22\.5\.0
npm 元数据更新时间：2026-11-05T20:58:18.584Z
中文译文更新时间：2026-11-11T04:42:34.965Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cumulus/logger
原文对照：https://npmcn.com/package/%40cumulus/logger/?lang=original
项目主页：https://github.com/nasa/cumulus/tree/master/packages/logger
源码仓库：https://github.com/nasa/cumulus

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：20.7 kB，5 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- Node.js 要求：^22\.23\.4
- 运行依赖：1 个
- 首次发布：2018-10-31T14:46:24.761Z
- 最新版本发布：2026-11-05T20:58:18.398Z
- 近 30 天下载量：5366（2026-10-11 至 2026-11-09，npm 官方下载统计）
- 已发布版本数：208（近 12 个月 36 个）

## 中文简介

用于 Cumulus 的日志库

## 安装

```sh
npm install @cumulus/logger
```

也可以使用：`pnpm add @cumulus/logger`、`yarn add @cumulus/logger`、`bun add @cumulus/logger`

## README

# @ cumulus/ 拖放器

> 用于Cumulus项目的伐木库.

这个 `@cumulus/logger` 库导出a `Logger` 类,生成 JSON格式日志事件.

日志事件总是有以下密钥:

-   **职等** (字符串) - 消息的优先级
-   **消息** (字符串) - 信息本身
-   **发送者** (字符串) - 生成消息的资源
-   **时间戳** (字符串) - ISO-8601倍印章

日志事件可能有以下选项密钥:

-   **处决** (弦声)
-   **颗粒** (弦 \[弦状对象数组\])
-   **父目录** (弦声)
-   **堆栈Name** (弦声)
-   **版本** (弦声)
-   **自动操作** (弦声)

日志事件也可能包含用户指定的密钥.

示例日志事件 :

```json
{
  "level": "info",
  "message": "hello world",
  "sender": "greetingFunction",
  "timestamp": "2018-10-19T19:12:47.501Z"
}
```

## 安装

```bash
npm install @cumulus/logger
```

## 使用量

```js
const Logger = require('@cumulus/logger');

const log = new Logger({ sender: 'example' });

log.info('hello, world');
```

## API 密码

### `new Logger({ [asyncOperationId], [executions], [granules], [parentArn], [sender], [stackName], [version] })`

#### 自动操作

类型 : `string`

与工作流程相联的可选自动同步操作 ID.

#### 处决

类型 : `string`

死刑的选择性描述.

#### 颗粒

类型 : `string`

可选颗粒弦. 通常为串列的颗粒对象.

#### 父目录

类型 : `string`

启动当前执行的父工作流程的可选步骤 ARN .

#### 发送者

类型 : `string`

日志事件发送者 。 典型的 Lambda 函数名或 ECS 任务名 . 默认为"未知".

#### 堆栈Name

类型 : `string`

库穆卢斯堆栈名.

#### 版本

类型 : `string`

可选版本.

### `log.debug([...messageArgs])`

写入一个日志事件, 将级别设置为“ 调试 ” .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

### `log.error([...messageArgs][, error])`

将日志事件写入 stderr, 级别设置为 “ 错误 ” .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

#### 错误

类型 : `Error`

如果最后一个参数为错误, 那么日志事件将设置以下附加属性 :

-   **错误** (目标)
    -   **名称** (弦声)
    -   **消息** (弦声)
    -   **堆栈** (Array<string>) - 堆栈跟踪的行

### `log.fatal([...messageArgs])`

写入一个日志事件, 将关卡设置为" fatal" .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

### `log.info([...messageArgs])`

写入日志事件, 将关卡设置为“ info” .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

### `log.infoWithAdditionalKeys(additionalKeys, ...messageArgs)`

写入日志事件, 将关卡设置为“ info” 。 计外 标准键,将会为事件添加额外的键. 如果有额外的密钥 指定与标准密钥名称相同,值标准密钥将 显示.

#### 额外键

类型 : `Object`

新增要添加的密钥/ 值对 .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

### `log.trace([...messageArgs])`

写入一个日志事件, 将关卡设置为“ 追踪 ” .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

### `log.warn([...messageArgs])`

写入一个日志事件, 将级别设置为“ 调试 ” .

#### 参数

类型 : `...any`

见 [控制台.log ()](https://nodejs.org/dist/latest-v8.x/docs/api/console.html#console_console_log_data_args)。 。 。 .

## 关于 Cumulus

Cumulus是一个以云为基础的数据摄取、存档、分发和管理 美国航天局未来地球科学数据流的原型.

[Cumulus 文档](https://nasa.github.io/cumulus)

## 捐款

做贡献,请 [参见我们的贡献准则](https://github.com/nasa/cumulus/blob/master/CONTRIBUTING.md)。 。 。 .

## 常见问题

### @cumulus/logger 是什么？

用于 Cumulus 的日志库

### 如何安装 @cumulus/logger？

在项目目录运行 npm install @cumulus/logger，或使用 pnpm add / yarn add / bun add。

### @cumulus/logger 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @cumulus/logger 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @cumulus/logger 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js ^22\.23\.4。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @cumulus/logger 可以商用吗？

@cumulus/logger 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cumulus/logger 的下载量有多少？

根据 npm 官方下载统计，@cumulus/logger 在 2026/10/11 – 2026/11/09 这 30 天内被下载 5,366 次，日均约 179 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cumulus/logger 还在维护吗？

最新版本 22\.5\.0 发布于 2026/11/06（5 天前）；至今共发布 208 个版本，其中过去 12 个月发布了 36 个；首次发布于 2018/10/31。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

