Repolode
fullstack-build

fullstack-build/tslog

面向 TypeScript 与 JavaScript 的通用日志库,支持美化终端输出、结构化 JSON、敏感信息脱敏,且无运行时依赖。

Star
1,750
Fork
74
未关闭 Issue
2
最近提交
15小时前

这是什么?

tslog 是一个面向 TypeScript 与 JavaScript 的日志库,同一套 API 可运行在 Node.js、浏览器、Deno、Bun、Worker 及 React Native 中。在交互式终端中默认输出带颜色的可读日志,管道或 CI 环境中则输出无颜色文本;生产环境可开启扁平化、字段优先的 JSON 格式,便于接入日志平台。

库内提供自定义日志级别、继承配置与绑定字段的子日志器,并可按键名、路径或正则对敏感信息进行脱敏。错误与堆栈会被格式化并可序列化,在 Node、Bun 和 Deno 上能通过 source map 映射回原始 TypeScript 源码位置。

在输出分发方面,tslog 支持文件、HTTP、内存环形缓冲和 Worker 线程等传输方式,并提供兼容 pino 格式及 OpenTelemetry OTLP/JSON 的预设。核心包没有运行时依赖,对体积敏感的浏览器项目还可使用精简子路径。

核心功能

  • 01在 Node.js、浏览器、Deno、Bun、Worker 与 React Native 中使用同一套 API
  • 02终端中彩色输出,管道中自动去色,可选结构化 JSON
  • 03按键名、JSON 路径、正则或哈希占位符对敏感信息脱敏
  • 04子日志器可继承配置并绑定固定字段
  • 05支持文件、HTTP、环形缓冲与 Worker 线程等可插拔传输
  • 06无运行时依赖,提供完整 TypeScript 类型

适用场景

  • 为 Node.js 服务添加统一日志,生产环境输出 JSON
  • 在同时运行于浏览器与服务端的共享模块中记录日志
  • 在日志输出前屏蔽密码和令牌等敏感信息
  • 将日志发送到文件、HTTP 收集器或 OpenTelemetry 端点

快速上手

  1. 1

    从 npm 安装 tslog

    npm install tslog
  2. 2

    导入 Logger 并输出一条日志

使用前须知

  • 需要 Node.js 22 或更高版本,且仅支持 ESM,不支持 CommonJS 的 require()。
  • 第 5 版是破坏性重新设计,从 v4 升级需要修改代码。

标签

常见问题

tslog 是什么?
面向 TypeScript 与 JavaScript 的通用日志库,支持美化终端输出、结构化 JSON、敏感信息脱敏,且无运行时依赖。 tslog 是一个面向 TypeScript 与 JavaScript 的日志库,同一套 API 可运行在 Node.js、浏览器、Deno、Bun、Worker 及 React Native 中。在交互式终端中默认输出带颜色的可读日志,管道或 CI 环境中则输出无颜色文本;生产环境可开启扁平化、字段优先的 JSON 格式,便于接入日志平台。
tslog 可以免费使用吗?用的什么许可证?
tslog 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
tslog 还在维护吗?
活跃维护中。tslog 最近一次提交是在 2026年10月20日。
tslog 适合用来做什么?
为 Node.js 服务添加统一日志,生产环境输出 JSON 在同时运行于浏览器与服务端的共享模块中记录日志 在日志输出前屏蔽密码和令牌等敏感信息 将日志发送到文件、HTTP 收集器或 OpenTelemetry 端点
tslog 怎么安装和运行?
从 npm 安装 tslog: npm install tslog 导入 Logger 并输出一条日志
在哪里获取 tslog?
源代码和安装说明在 GitHub 上:https://github.com/fullstack-build/tslog

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目