一个零配置的 Web 构建工具,无需配置文件即可打包 HTML、CSS、JavaScript 和各类静态资源。
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
从 npm 安装 tslog
npm install tslog - 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 数据每日更新。
相关项目
一款 VSCode 扩展,将 TypeScript 报错信息整理为易读、带语法高亮的类型展示,并提供相关文档链接。
让 Unity 和 Unreal 游戏可以用 TypeScript/JavaScript 编写逻辑的脚本解决方案,Unity 版还支持 Lua 和 Python。
面向 C++17 的超低延迟异步日志与指标库,将格式化和 I/O 交给后台线程处理。
用于构建节点式交互界面(如流程图、图编辑器和工作流编辑器)的 React 与 Svelte 开源库。
一个用 Go 构建跨平台桌面应用的框架,前端可使用 React、Vue、Svelte 等 Web 技术。