@beforeyoubid/logger-adapter

中文文档
2.1.1发布于 2026/11/06ISCTypeScriptCommonJS近 30 天下载 3286

一个将日志信息发送到Mezmo(原为LogDNA)的平台日志模块.

中文使用文档
文档目录15 节
  1. 控制台 Logger 对 Winston Logger
  2. 版本数
  3. 1) 使用控制台锁定器
  4. 启动它
  5. 为非lambda环境
  6. 模糊所有信件
  7. Lambda: 对无服务器快车使用处理器包装
  8. Lambda: 用回调处理器
  9. 2) 使用温斯顿·洛格
  10. 启动它
  11. 为非lambda环境
  12. Lambda: 对无服务器快车使用处理器包装
  13. Lambda: 用回调处理器
  14. 前置日志消息
  15. 计量工具

Mezmo (原日志DNA) Logger 适应器

笔记 - LogDNA决定暂时不将库名重命名为Mezmo. 为了避免有两个名字,我们决定 将变量、类等保留为LogDNA.


这是我们的BYB记录器模块,旨在支持多种两种记录方案.

  • 一些 repos 可能严重依赖 Coper.log() 或类似于 Coper 上的输出日志 。 我们可以利用这个模块 环绕原始 console 所以所有的日志也可以寄给Mezmo。 服务需要添加 consoleLogger.init() 在处理器.
  • 一个温斯顿日志 - 温斯顿创建了一个通用日志objec,允许我们在日志上进行各种操作,例如. 更改日志行的颜色,格式消息,可以自定义/添加自定义代码(使用传输机制)到 向 Mezmo 发送日志信息, 或者在数据库中存储 .

这个模块旨在一个本土节点运行时间和Lambda环境中工作. 兰巴达,请看 模糊所有信件 下节.

控制台 Logger 对 Winston Logger

  • 别介意 console.log() 不是推荐的用于前端应用的方法,但是在 后门。 有一些限制:
    • 当地人 console 日志对象不支持 LOG_LEVEL。例如,您可能不希望 console.debug() 改为 在生产服务器上显示调试信息.
    • 不支持日志颜色
    • 不显示日期时间 这很难理解
    • 不支持向外部服务发送日志
  • 控制台 Logger 覆盖现有的 console 目标作为采用 logger 对象.
    • 日志级别
    • 发送到外部服务
  • Winston Logger 解决上述所有限制

使用时 console.log 尚未准备好切换到温斯顿日志,此模块 也可以帮你.

版本数

  • v1.x.x (第一版) (中文(简体) )
  • v2.x.x (英语)
    • 利用Mezmo团队积极维护的最新模块(https://www.npmjs.com/package/@logdna/logger)
    • 修补一个缺失的对数线问题,因为 logdna-winston 模块创建单独的日志 无法在Lambda终止前完全冲出消息。 我们决定 在此工程中自定义此模块, 并允许我们使用 LogDNA 日志对象的一例, 这样可以 ensureFlushAll() 可以在我们终止Lambda功能前冲出这些消息. 这个单一的日志DNA是共享和 被控制台日志包装和LogDNA传输都用作温斯顿日志系统的一部分.
    • 虽然这不是一个重大改变,但该模块的用户希望有一个可解释的升级版本。 只是更新到 最新 v2 版本; 消费者方面不需要 API 修改.
    • 也动了 createLoggerObject() 输入此共享模块, 这样在返回前更容易使用和前缀消息 实际日志对象。 譬如说. createLoggerObject([LOG-PREFIX] (英语));
    • V2 Diagram
  • v2.0.3 起数
    • 添加通用 MetricLogger

1) 使用控制台锁定器

  yarn add @beforeyoubid/logger-adapter

启动它

我们遵循12个要素,通过提供LOGDNA KEY作为环境的一部分,可以启用日志并发送到LogDNA 变量.

  LOGDNA_KEY=xxxxxxyyyyyyyzzzzzzz

请注意,在当地,你可以设置 LOGDNA_KEY= 以禁用向 LogDNA 发送日志。 供应 LOG_LEVEL 作为组成部分 环境变量.

另外,你可以留着 LOGDNA_KEY 值与您为其它环境设置的相同, 但可以禁用发送日志 设置 LOGDNA_ENABLED=false 在您的嵌入变量中.

为非lambda环境

    import { consoleLogger } from '@beforeyoubid/logger-adapter';
    consoleLogger.init();

    // Don't need to call consoleLogger.flushAll(), logdna object has default flush interval interval at 250ms

模糊所有信件

LogDNA将消息放入缓冲器,并每250ms推出. 如果Lambda在这些间隔之前被终止了, 可能有些消息日志没有发送到LogDNA. 使用 ensureFlushAll() 自动冲出信件.

Lambda: 对无服务器快车使用处理器包装

  import { consoleLogger, ensureFlushAll } from '@beforeyoubid/logger-adapter';
  consoleLogger.init();

  export default ensureFlushAll(yourLambdaHandler);

Lambda: 用回调处理器

  import { consoleLogger, ensureFlushAllCallback } from '@beforeyoubid/logger-adapter';
  consoleLogger.init();

  export default ensureFlushAllCallback(yourLambdaHandlerCallback);

2) 使用温斯顿·洛格

  yarn add @beforeyoubid/logger-adapter

启动它

我们遵循12个要素,通过提供LOGDNA KEY作为环境的一部分,可以启用日志并发送到LogDNA 变量.

  LOGDNA_KEY=xxxxxxyyyyyyyzzzzzzz

请注意,在当地,你可以设置 LOGDNA_KEY= 以禁用向 LogDNA 发送日志。 供应 LOG_LEVEL 作为组成部分 环境变量.

为非lambda环境

    import { logger } from '@beforeyoubid/logger-adapter';

    logger.debug('This message only show up when LOG_LEVEL is set to "debug"')
    logger.info('This message only show up when LOG_LEVEL is set to "info"')

Lambda: 对无服务器快车使用处理器包装

  import { logger, ensureFlushAll } from '@beforeyoubid/logger-adapter';

  // you can use logger.debug('log text in a string format');

  export default ensureFlushAll(yourLambdaHandler);

Lambda: 用回调处理器

  import { logger, ensureFlushAllCallback } from '@beforeyoubid/logger-adapter';

  // you can use logger.debug('log text in a string format');

  export default ensureFlushAllCallback(yourLambdaHandlerCallback);


前置日志消息

在某些情况下,您可能想要有一个更清晰的日志消息,方法是用一个预先定义的字符串,例如您的名称 模块,所以它们看起来像这样. Log prefix

  import { getLoggerObject } from '@beforeyoubid/logger-adapter';

  const logger = getLoggerObject('[Your Custom Prefix]');

  logger.info('the usual log string...')

注意到 3⁄4 ̄ ̧漯B. import { logger } from '@beforeyoubid/logger-adapter';它只为您和您添加日志行前缀 返回时带有调试、信息、警告、出错等功能.

计量工具

动机 :

  • Mezmo 是记录和调试的主要遥测工具之一
  • 我们还可以使用Mezmo收集、处理和显示基于日志信息的商业衡量标准,而无需额外收费 现有计划
  • 设定很简单,Mezmo从盒子里做这个

怎么会这样?

  • 当一个JSON字符串(例如. JSON.stringify(jsonObject))被送到了Mezmo,Mezmo足够聪明地将这个解为a json 对象和自动索引
  • 通过这一过程,我们可以在物体中查找任何值,并(或)在任何具体的衡量标准上建立一个仪表板 合适的
  • 唯一的缺点是,按照账户上的数据保留政策,数据保留通常限于30天

如何使用 :

版本与发布记录

@beforeyoubid/logger-adapter 共发布 26 个版本,首次发布于 2020/08/15;过去 12 个月发布了 2 个版本。

版本发布日期距今
2.1.1latest2026/11/061 天前
2.1.02026/11/061 天前
2.0.42024/09/182 年前
2.0.32024/09/182 年前
2.0.22024/07/022 年前
2.0.12024/07/012 年前

关于 @beforeyoubid/logger-adapter 的常见问题

@beforeyoubid/logger-adapter 是什么?

一个将日志信息发送到Mezmo(原为LogDNA)的平台日志模块.

如何安装 @beforeyoubid/logger-adapter?

在项目目录运行 npm install @beforeyoubid/logger-adapter,或使用 pnpm add / yarn add / bun add。

@beforeyoubid/logger-adapter 支持 TypeScript 吗?

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

@beforeyoubid/logger-adapter 支持 ESM 还是 CommonJS?

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

@beforeyoubid/logger-adapter 可以商用吗?

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

@beforeyoubid/logger-adapter 的下载量有多少?

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

@beforeyoubid/logger-adapter 还在维护吗?

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