日志
本指南介绍如何控制 Rsbuild 的日志输出、为特定实例定制 logger,以及在不同场景下获取和使用 logger。
Rsbuild 的 logger 基于
rslog实现,查看 rslog 了解更多方法和选项。
日志级别
Node.js 侧
logLevel 用于控制当前 Rsbuild 实例在 Node.js 侧的日志级别,例如终端中的构建日志、开发服务器日志、插件日志等。
例如,将 logLevel 设置为 warn 后,Rsbuild 只会输出警告和错误日志:
rsbuild.config.ts
浏览器侧
dev.client.logLevel 用于控制浏览器控制台中的客户端日志级别。
默认情况下,dev.client.logLevel 会继承根级的 logLevel。
rsbuild.config.ts
自定义 logger
每个 Rsbuild 实例在创建时都生成一个 logger。你可以通过 createLogger 创建一个自定义的 logger 实例,并通过 customLogger 把它挂到当前 Rsbuild 实例上。
例如,下面的配置会让当前实例只输出 warn 和 error 级别的日志:
rsbuild.config.ts
自定义 prefix
可以通过 prefix 为每条日志附加固定前缀:
rsbuild.config.ts
覆盖日志方法
可以通过 override() 覆盖 logger 的部分方法,以使用自定义的输出格式:
rsbuild.config.ts
实例 logger
通过以下方式来访问 Rsbuild 实例上的 logger 对象:
- rsbuild.logger:在 JavaScript API 中访问当前实例的 logger。
- api.logger:在插件中访问当前实例的 logger。
全局 logger
Rsbuild 也包含了一个全局共享的 logger 单例,可以通过 logger 访问。
- 当全局 logger 的日志级别被修改时,后续创建的 Rsbuild 实例会继承这个修改后的日志级别。
logger 方法
所有 logger 实例都提供相同的方法:
调试模式
当开启 调试模式 时,Rsbuild 会自动将日志级别提升到 verbose,以输出更详细的日志,帮助排查问题。

