轻量、简洁、可扩展的console控制台
-
通过扩展机制实现控制台定制、日志存储、消息订阅等功能
-
无扩展时可作为美化版的console使用
-
支持console作用域,可视为轻量版的debug模块
-
没有日志等级概念,使配置更加灵活,缺点是配置相对繁琐
-
日志定期存盘,间隔3s存盘
-
日志拆分,文件按天保存到logger目录下
-
显示格式化的彩色文本、图标日志
-
支持扩展自定义日志类型
npm install consoln
// 基础示例
const consoln = require('consoln');
consoln.log('hellow')
consoln.success('hellow success')
consoln.warn({ a: "warn" })
consoln.error(new Error('xx'))
consoln.success('888')
// 扩展日志存档
const consoln = require('consoln');
const logger = require('@consoln/logger');
consoln.show(false); // 不显示log
consoln.use(logger({ "interval": 5000 })); // 添加日志存档,并设定存储间隔为5s
consoln.warn({ a: "warn" })
consoln.error(new Error('xx'))
使用方法与console类似
consoln的自定义扩展函数,options中的同名属性会被覆盖
-
options
Object 自定义配置选项-
$type
Object 类型配置选项,$type对应类型名称-
$method
Function 调用consoln.$type()方法时执行
-
-
consoln.use({
"log": {
show(argv) {
console.log(`\x1b[34m●\x1b[39m`, ...argv);
}
},
"success": {
show(argv) {
console.log(`\x1b[32m√\x1b[39m`, ...argv);
}
},
"info": {
show(argv) {
console.log(`\x1b[36mi\x1b[39m`, ...argv);
}
},
"warn": {
show(argv) {
console.log(`\x1b[33m⚠\x1b[39m`, ...argv);
}
},
"error": {
show(argv) {
console.log(`\x1b[31m✖\x1b[39m`, ...argv);
}
},
})
关闭控制台log显示功能,提升性能
日志作用域的使用方法与debug模块类似,区别如下:
-
debug默认不显示log,consoln默认显示log,通过consoln.production()切换到生产环境后关闭日志。
-
debug使用“debug”作为环境变量名,consoln使用“consoln”作为环境变量名。
-
debug的环境变量值支持模糊匹配,consoln不支持模糊匹配,但支持精确匹配多个作用域。
const consoln = require('consoln');
const debug = consoln.scope('debug');
const user = consoln.scope('user');
debug.log('hellow debug');
debug.success('hellow debug');
user.log('hellow user');
user.success('hellow user');