@debugr/elastic

中文文档
4.0.0发布于 2026/08/14MITTypeScriptESM + CJS构建来源已验证近 30 天下载 9171

调试器的弹性日志处理器

中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 选项

调试器的弹性日志处理器

这个LogHandler通过SDK添加了Elastic的日志.

安装

npm install --save @debugr/elastic

使用量

import { Logger, LogLevel } from '@debugr/core';
import { ElasticHandler } from '@debugr/elastic';

const globalContext = {
  applicationName: 'example',
};

const logger = new Logger(globalContext, [
  new ElasticHandler({
    index: 'example-app-logs',
  }),
]);

logger.setContextProperty('jobName', 'elasticTest');

logger.info('Application started.');
// should send a new entry to the `example-app-logs` index with the following content:
// {
//   level: 30,
//   message: 'Application started.',
//   ts: '2022-09-04T12:13:14Z',
//   context: {
//     applicationName: 'example',
//     jobName: 'elasticTest',
//   },
// }

选项

这个 ElasticHandler 构造器接受一个 所需经费 options 对象作为第一个参数. 一个实例 Client 类从 @elastic/elasticsearch SDK可以当作第二个 参数; 如果不提供, 构造者将尝试使用所提供的 options 对象。 所以当用一个单一的论据 给建筑师打电话时 options 对象是一个结合 在此定义的日志处理器选项和弹性 Client 选项。 见 @elastic/elasticsearch 可用软件包文档 Client 选项。 处理器本身的现有选项 内容如下:

选项类型默认说明
indexstring, (中文(简体) ), (entry: LogEntry) => string(必须)发送条目的弹性索引 。 您可以指定一个回调来将每个条目路径到一个基于不同索引,例如基于关卡的索引.
thresholdLogLevelLogLevel.ALL将登录的条目最低水平 。 此关卡以下的任何条目都将被忽略 .
bodyMapper(entry: LogEntry) => Record<string, any>(见说明)调用转换a LogEntry 输入要发送给 Elastic 的数据对象。 除 globalContext 财务报告和审定财务报表 taskContext 将合并为单个对象 context 对象,以及 data 对象将被序列化为 JSON .
errorCallback(error: Error) => void(见说明)向 Elastic 发送一个条目时会调用的回调失败 。 默认的回调会简单地将错误记录入控制台.
errorMsThresholdnumber(无)自上次通知以来的最少时间 errorCallback 然后再打电话.

版本与发布记录

@debugr/elastic 共发布 6 个版本,首次发布于 2022/11/22;过去 12 个月发布了 1 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
4.0.0latest2026/08/142 个月前
3.0.0-rc.102023/08/153 年前
3.0.0-rc.92023/05/043 年前
3.0.0-rc.82022/11/243 年前
3.0.0-rc.72022/11/233 年前
3.0.0-rc.62022/11/223 年前

关于 @debugr/elastic 的常见问题

@debugr/elastic 是什么?

调试器的弹性日志处理器

如何安装 @debugr/elastic?

在项目目录运行 npm install @debugr/elastic,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@elastic/elasticsearch(^9)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@debugr/elastic 支持 TypeScript 吗?

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

@debugr/elastic 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@debugr/elastic 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=24。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@debugr/elastic 可以商用吗?

@debugr/elastic 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@debugr/elastic 的下载量有多少?

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

@debugr/elastic 还在维护吗?

最新版本 4.0.0 发布于 2026/08/14(2 个月前);至今共发布 6 个版本,其中过去 12 个月发布了 1 个;首次发布于 2022/11/22。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。