主要观点:LogTape 是专为现代 JavaScript 生态系统设计的日志库,具有零依赖架构、跨多种运行时支持和库优先设计理念等特点。
关键信息:
- 发布了 1.0.0 版本,标志着开发的重要里程碑,核心 API 稳定可用于生产。
- 引入了高性能日志基础设施,如非阻塞 sink 选项、
fromAsyncSink()
函数、getStreamFileSink()
函数等。 - 新增了与 AWS CloudWatch Logs 和 Windows Event Log 的 sink 集成。
- 提供了美丽的开发体验,如
@logtape/pretty
包。 - 实现了生态系统集成,通过适配器包可与现有日志基础设施无缝集成。
- 有开发者体验增强,如
getLogLevels()
函数和LogMethod
类型等,浏览器兼容性也得到改善。 - 包含一个 breaking change,移除了 deprecated 的
LoggerConfig.level
属性。 - 形成了完整的包生态系统,包含 11 个专门的包。
重要细节: - 配置示例:
await configure({ sinks: { console: getConsoleSink({ nonBlocking: { bufferSize: 1000, flushInterval: 50 }})}, loggers: [ { category: "my-app", lowestLevel: "info", sinks: ["console"] } ] });
- AWS CloudWatch Logs 集成示例:
const sink = getCloudWatchLogsSink({ logGroupName: "/aws/lambda/my-function", logStreamName: "my-stream", region: "us-east-1" });
- Windows Event Log 集成示例:
import { getWindowsEventLogSink } from "@logtape/windows-eventlog";
- 迁移指南:将
{ category: ["app"], level: "info", sinks: ["console"] }
改为{ category: ["app"], lowestLevel: "info", sinks: ["console"] }
,复杂过滤需求可使用LoggerConfig.filters
。 - 新用户开始使用示例:
import { configure, getConsoleSink } from "@logtape/logtape"; await configure({ sinks: { console: getConsoleSink() }, loggers: [ { category: "my-app", lowestLevel: "info", sinks: ["console"] } ] });
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。