你没看错,consola 和 console 只差一个字母,并且它们都是控制器日志输出的好帮手。console 在某些方面,使用有些局限性。consola 是一个功能更丰富,更漂亮的控制台日志输出控件。今天我们一起来学习它的
什么是 Consola ?
Easy to use 易于使用。
Fancy output with Fallback for Continuous Integration (CI) environments 具有连续集成(CI)环境的备用输出。
Global mockable stdout/stderr wrapper 全球mockable stdout/stderr包装。
Pluggable reporters 可插拔的插件。
Consistent Command Line Interface (CLI) experience 命令行接口(CLI)。
Scoped Loggers 有范围的记录日志。
安装 Consola
yarn 安装方法:
1 | yarn add consola |
npm 命令安装方法:
1 | npm i consola |
一些用法。
基本用法
1 2 3 4 5 6 7 | const consola = require( 'consola' ) // See types section for all available types consola.start( 'Starting build' ) consola.success( 'Built!' ) consola.info( 'Reporter: Some info' ) consola.error( new Error( 'Foo' )) |
图片效果如下:
输出的日志内容如下:
1 2 3 4 5 | [2:17:17 PM] Starting build [2:17:17 PM] [TEST] Log from test scope [2:17:18 PM] Built! [2:17:18 PM] Some info [2:17:18 PM] Error: Foo |
日志的作用域
日志的分组使用:
1 2 | const logger = consola.withScope( 'test' ) logger.info( 'Log from test scope' ) // [Test] Log from test scope |
Reporter
根据不同的终端,默认情况下使用FancyReporter或BasicReporter。
BasicReporter
FancyReporter
JSONReporter
WinstonReporter
上面4个是 Consola 提供的4种可供选择的 Reporter。另外我们还可以自定义 Reporter。相关用法可以查看官方文档:https://github.com/nuxt/consola。更多 API 的用法也可以参考官方 demo 和文档。