入门

安装 evlog

框架
在 TypeScript 项目中安装 evlog。支持 Nuxt、Next.js、SvelteKit、Hono、Express、Fastify、Elysia、NestJS 以及独立脚本。

evlog 支持 Nuxt、Next.js、SvelteKit、Nitro、NestJS 以及任何 TypeScript 服务端框架。

在我的项目中安装 evlog

安装

pnpm add evlog

使用 Agent 技能

如果你使用了 AI 助手(如 Claude Code、Cursor 等),安装 evlog 技能以获得引导式设置和代码审查:

Terminal
npx skills add https://www.evlog.dev

你的 AI 助手随后可以帮助你设置 evlog、审查你的日志记录模式,并将现有代码迁移到宽事件。有关详细信息,请参阅 Agent Skills

试试 @evlog/cli 独立的软件包,目前还处于早期阶段,但只需一条命令即可评估哪些入口点仍然没有日志记录。无需安装:
npx @evlog/cli map
# 或:pnpm dlx @evlog/cli map
查看 CLI 概览evlog map。只有当你希望它在 CI 中使用时,才将其固定为开发依赖。

集成到你的框架中

安装包后,按照对应框架的设置指南进行操作:

Nuxt

自动导入 useLoggerparseError 的模块。

Next.js

createEvlog() 工厂函数与 withEvlog() 处理程序包装器。

SvelteKit

使用 event.locals.loghandlehandleError 钩子。

Nitro

适用于 Nitro v2 和 v3 的插件式钩子模块。

TanStack Start

使用 Nitro v3 模块与异步上下文。

React Router

使用 context.get(loggerContext) 的中间件。

NestJS

使用全局中间件的 EvlogModule.forRoot()

Express

使用 req.log 的中间件。

Hono

使用 c.get('log') 的中间件。

Fastify

使用 request.log 的插件。

Elysia

使用 log 作为路由上下文的插件。

oRPC

withEvlog() 处理程序包装器 + evlog() 过程处理程序中间件。

Cloudflare Workers

用于请求作用域日志记录器的工厂函数。
查看完整的 框架集成 页面,以获取对比表和所有可用集成,包括 Standalone TypeScriptAstro 以及 Custom Integration

为你添加的字段提供类型

evlog 附带完整的 TypeScript 类型定义,无需额外配置。

evlog 需要 TypeScript 5.0 或更高版本以获得最佳的类型推断。

下一步