宣布 LogTape 1.0.0

主要观点: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"] } ] });
阅读 11
0 条评论