推荐简单好用的终端输出彩色内容的开源nodejs工具库
在开发nodejs
终端应用程序时,在终端输出带颜色的文本,支持以下特性:
- 支持按不同数据类型以不同的颜色显示,并且可以配置
- 支持按
DEBUG
、INFO
、WARN
、ERROR
、FATAL
五个级别输出日志 - 支持输出带颜色的模板字符串
- 支持自动格式化显示
{}
和[]
类型 - 支持强大的表格输出
-
- 支持输出任务列表、进度条、横幅和树等扩展
- 正确处理中文与英文混排时的对齐问题
安装
npm install logsets
yarn add logsets
pnpm add logsets
指南 模板字符串输出 对模板字符串进行插值后输出着色后的字符串。
import createLogger from "logsets"
const logger = createLogger({...})
logger.log("<模板字符串>",<变量1>,<变量1>,...,{end:"\n",append:" "})
logger.log("<模板字符串>",<变量1>,<变量1>,...)
logger.log("<模板字符串>",{<变量1>:<值>,<变量1>:<值>},)
logger.log("<模板字符串>",{<变量1>:<值>,<变量1>:<值>},{end:"\n",append:" "})
示例如下:
import createLogger from "logsets"
const logger = createLogger({...})
// 命名插值变量
logger.log("{a}+{b}={c}",{a:1,b:1,c:2})
// 位置插值变量
logger.log("My name is {}","tom")
logger.log("{a}+{b}={c}",1,1,2)
输出效果如下:
文章图片
默认情况下,每次执行
log
方法完成后均会导致换行输出。log
方法还支持配置输出参数:for(let i =0 ;
i<=100;
i++){
logger.log("正在下载:{}",i,{end:"\r"})// 每行输出时最后打印\r回车符,回到行头,从而可以实现下载进度的更新。
}
logger.log()// 换行
配置参数
当
log
的参数大于=2
个并且最后一个参数是{}
时,将最后一个参数视为是输出配置参数。{
end:"\n",// 行结束字符,默认是换行会导致打印下一行,如\r则不会换行而只是回到行首
append:" "// 每个输出参数自动追加的字符,默认是一个空格
}
按数据类型输出 提供
print
方法,用来连续输出多个经过着色的参数。print(arg1,arg2,arg3,.....)
print(arg1,arg2,arg3,.....,{end:"\n",append:" "}) // 增加可选的输出参数
输出配置参数:
同
log
方法.示例
import createLogger from "logsets"
const log = createLogger({...})logger.print("String",true,100,()=>{},[1,2,3])
logger.print(null,undefined)
logger.print(/^colored$/g)
logger.print(new Error("Value Error"))
logger.print(new Date())
logger.print(class A{})
logger.print(new (class X{})())
logger.print({name:"tom",age:100,admin:true,posts:["a","b"],values:[1,2,3]},()=>"hello")
输出效果如下:
文章图片
格式化输出对象 提供
format
方法,用来带缩进格式和着色过的对象- 基本用法
import createLogger from "logsets"
const logger = createLogger({...})logger.format({
name:"tom",
age:11,
admin:true,
posts:["经理","主任"],
addtrss:{
company:"中华人民共和国北京市二环路",
family:"福建省泉州市惠安路1512号"
}
})
输出效果如下:
文章图片
- 优化数组和对象输出
import createLogger from "logsets"
const logger = createLogger({...})logger.format({
values:new Array(10).fill(0).map((v,i)=>i+1),
users:{
tom:{name:"tom",age:21,sex:true},
jack:{name:"jack",age:21,sex:false},
jack1:{name:"jack",age:21,sex:false},
jack2:{name:"jack",age:21,sex:false},
jack3:{name:"jack",age:21,sex:false},
jack4:{name:"jack",age:21,sex:false},
jack5:{name:"jack",age:21,sex:false},
jack6:{name:"jack",age:21,sex:false},
jack7:{name:"jack",age:21,sex:false},
jack8:{name:"jack",age:21,sex:false},
jack9:{name:"jack",age:21,sex:false},
jack10:{name:"jack",age:21,sex:false},
jack11:{name:"jack",age:21,sex:false},
jack12:{name:"jack",age:21,sex:false},
}
},{Array:{maxItems:5},Object:{maxItems:5}})
maxItems
参数用来指定只显示多少项,超出显示省略号并备注总数量。输出效果如下:
文章图片
可以配置紧凑模式输出。
import createLogger from "logsets"
const logger = createLogger({...})logger.format({
values:new Array(10).fill(0).map((v,i)=>i+1),
users:{
tom:{name:"tom",age:21,sex:true},
...,
jack12:{name:"jack",age:21,sex:false},
}
},{Array:{maxItems:5,compact:true},Object:{maxItems:5,compact:true}})
compact
参数用来指示采用紧凑模式输出输出效果如下:
文章图片
显示分割条
logger.separator(width)
可以输出一条水平分割线, width
参数是可选的,默认是60
。输出日志级别 按指定级别输出日志,并会对插值变量进行着色。
logger.debug("<模块字符串>",[位置插值变量列表] || {插值变量列表},"备注信息")
logger.info("<模块字符串>",[位置插值变量列表] || {插值变量列表},"备注信息")
logger.warn("<模块字符串>",[位置插值变量列表] || {插值变量列表},"备注信息")
logger.error("<模块字符串>",[位置插值变量列表] || {插值变量列表},"备注信息")
logger.fatal("<模块字符串>",[位置插值变量列表] || {插值变量列表},"备注信息")
示例如下:
import createLogger from "logsets"
const log = createLogger({...})
logger.debug("正在执行程序{},还需要{}秒...",["logs",9])
logger.info("正在执行程序{app},还需要{time}秒...",{app:"logs",time:9})
logger.warn("正在执行程序{app},还需要{time}秒...",{app:"logs",time:9},"Line:123")
logger.warn("程序执行可能出错\n变量没有定义")
logger.error("程序执行可能出错\n变量没有定义")
logger.fatal("正在执行程序{a} + {b} , {sex} {name}...",{a:1,b:1,sex:true,name:"voerka"})
输出效果如下:
文章图片
第二个参数也可以是一个返回
[]
或{}
插值变量列表的函数.logger.warn("My name is {name}, age is {age}",()=> ({name:"Voerka",age:1}))
输出样式可以通过
template
参数配置模块字符串。logger.config({
template:"[{level}] {datetime} - {message}"
})
template
支持以下插值变量:- level:日志级别
- datetime:当前日期时间
- date:当前日期
- time:当前时间
- message:文本信息
logsets
支持额外引入table
插件用来输出表格基本用法
import createLogger from "logsets"
import TablePlugin from "logsets/plugins/table"const log = createLogger({...})
logger.use(TablePlugin)const table = logger.table({
colorize:1,// 是否需要颜色化 0-禁用着色,1-简单着色 2-对表单元里面的对象和数组进行着色,需要额外的计算
grid:2,// 表格线样式,0=不显示表格线,1=只显示垂直表格线,2=显示完整表格线
maxColWidth:32,// 最大列宽,超过会显示省略号
colPadding:" ",// 列额外的空格
header:{
style:"bright"// 表头颜色样式,默认高亮
},
footer:{
style:"darkGray",// 表尾颜色样式
merge:true// 是否合并行
align:"right",// 当合并时对齐方式
},
summary:{// 默认汇总行配置
style:"yellow,bright",// 汇总颜色样式
align:"right",// 汇总对齐方式
},
})
// 输出表头,只支持一个表头
table.addHeader("序号","文件名","大小","下载进度","完成","<备注")
// 输出行,一个参数对应一列
table.addRow(1,"readme.md",58713,100,true,"自述文件")
table.addRow(2,"index.js",1222,100,true,"源代码文件")
table.addRow(3,"consts.js",45981,100,true,"常量定义\n包含默认的配置文件")
table.addRow(4,"table.plugin.js",434,100,true,"表格插件\n可选,用来输出表格")
table.addRow(5,"rollup.config.js",123,100,true,"构建配置文件")
// 输出汇总行
table.addSummary(["已下载",5,"个文件\n累计耗时",56,"秒"],{align:"right"})
table.addRow(6,"colorize.js",6542,60,false,"实现对变量或对象进行着色")
table.addRow(7,"stringify.js",5546,34,false,"格式化JSON")
table.addRow(8,"utils.js",6456,66,false,"一个工具函数")
// 输出表尾
table.addFooter(["共",8,"个文件"])
// 渲染输出
table.render()
输出效果如下:
文章图片
控制表格线样式
当
grid=1
时,输出效果如下:文章图片
当
grid=2
时,输出效果如下:文章图片
单元格着色
table.addRow
进行增加行时,会根据logsets
全局配置按不同的数据类型显示不同的颜色。单元格里显示着色对象
默认情况下,在单元格里面显示
{...}
或[...]
时会将之转化为字符串进行显示,而不是像format
方法一样进行格式化关色后输出。需要额外配置colorize=2
才会进行着色输出。table = logger.table({
colorize:2,
})
colorize参数用来控制是否对单元格内容进行着色。
- 0 : 禁用着色输出
- 1 : 对简单数据类型进行着色,默认值
- 2 :对表单元里面的对象和数组进行着色,需要额外的计算
table实例具有以下方法:
addHeader 增加表头,一个表格只能指定一个表头,并且表头不支持多行标题。
addHeader("列标题","列标题",......,"列标题")
列标题默认居中显示,指定列标题时可以通过第一个字符来指定该列的显示对齐方式。如:
addHeader("序号","名称",">地址")// 地址列右对齐
addHeader("序号","名称","<地址")// 地址列左对齐
addRow 表格支持添加任意多的普通表行。
addRow(<单元格内容>,<单元格内容>,...,<单元格内容>)
一般情况下,单元格的数量应该与
addHeader
中列数量一致。如果addRow
的参数个数大于addHeader
的参数个数,会自动扩展列,取最大的列数量进行显示。table = logger.table({
grid:2,
maxColWidth:12,
})
// 表头定义了4列
table.addHeader("名称","性别","出生日期","<居住地址")
// 该行提供了5个单元格参数
table.addRow("令狐冲","男","1653/12/2","思过崖","华山派")
table.addRow("东方不败","男","1603/6/3","日月神教无敌峰藏经阁")
table.addRow("任盈盈","女","1651/2/8","")
table.render()
- 渲染单元格时会按照配置中指定的样式,分别对不同的数据类型显示不同的颜色。
- 表格行每一列会根据内容自适应宽度显示,但是其最大值受配置参数中的
maxColWidth
约束,当单元格内容字符宽度超过maxColWidth
时会显示省略号。效果如下:
文章图片
addSummary 增加汇总行,汇总行用来合并所有单元格并显示内容。
addSummary(
content,// 单元格内容
{
style:"yellow,bright",// 汇总颜色样式
align:"right",// 汇总对齐方式,取值:left,auto,center,right
})
content
参数可以是一个字符串,其显示颜色样式由style指定,默认值是yellow,bright
content
参数也可以是一个Array,其显示颜色样式会根据数组成员的数据类型进行着色。
效果图参阅上文。
addFooter(content,
{
style:"darkGray",// 表尾颜色样式 ,当merge=false时生效
merge:,// 是否合并行显示,默认true
align:"left",// 对齐方式,取值:left,auto,center,right
style:""
})
content
参数用法与addSummary
一样。- 表尾支持可以通过
{merge:
来配置是否合并显示或者分列显示。如} addFooter([1,2,3,4],{merge:false})
文章图片
- 默认情况下
merge=true
,即addFooter("内容")===addFooter("内容",{merge:true})
。
grid=0
或grid=1
即不显示网格线时用来增加一条分割线。addSeparator()// 无参数
进度条 显示一个滚动的进度条。
基本用法
import createLogger from "logsets"
import progressbarPlugin from ""
const logger = createLogger({...})
logger.use(progressbarPlugin)const pbar = logger.progressbar({
title: "下载进度",
//...其他配置参数...
})progressbar.begin()// 开始启动进度条
for(let i = 0 ;
i <= 60;
i++){
await delay()
progressbar.value(i) // 更新进度条
}
progressbar.end()// 结束进度条
progressbar.demo.js
输出效果如下:文章图片
配置参数
progressbar
支持以下配置参数:{
title:"<显示标题>"
theme: "",// 可选主题色,内置支持default,red,green
max: 100,// 进度最大值
min: 0,// 进度最小值
value: 0,// 当前值
// 显示在最后的备注字符串,支持插值变量{value} {percent} {max} {min}
dispaly: "{percent}%",
width: 60,// 进度条宽度
background: {// 进度条样式
show: true,// 是否显示背景,默认显示,不显示时只显示进度条滑块
style : "bgDarkGray",// 进度条样式
char: " "
},
slider: {// 滑块字符
style : "bgWhite",// 进度条样式
char: " ",//
}
}
- 所有参数均是可选的,大部份情况下只需要配置
max
、min
参数即可。 dispaly
参数用来控制当进度条正在执行时显示在右侧的信息,支持插值变量{value}
{percent}
、{max}
、{min}
,比如"{percent}%"显示百分比,"{value}/{max}"显示当前进度值与最大值。width
用来指定进度条的宽度,默认是60
个字符。background
用来控制进度条的背景,默认是暗灰色空格。slider
用来控制进度值,默认是白色空格。
- begin()
开始一个进度条,开始时会隐藏光标
- value(n)
更新进度
- end(note)
结束进度条,结束后换行
- stop(note)
停止进度条,note
参数会显示在进度条右侧。
- error(note)
进度条出错,note
参数会显示在进度条右侧。
基本用法
import createLogger from "logsets"
import tasklistPlugin from ""
const logger = createLogger({...})
logger.use(tasklistPlugin)// 创建一个任务列表
let tasks = logger.tasklist({})// 新增一个任务列表项
tasks.add("开始扫描文件")
// 增加后,任务列表项会处于运行状态,需要分别调用complete/error/stop/skip/todo等结束运行状态
tasks.complete("OK")tasks.add("准备对文件进行预处理")
tasks.error("ERROR:文件没有找到")tasks.add("读取文件并编译成exe文件")
tasks.skip("SKIP")tasks.add("任务处理被停止")
tasks.stop("STOP")tasks.add("任务待办状态")
tasks.todo("TODO")
运行后的效果如下:
文章图片
配置参数
以下所有配置参数均为可选,仅当您对默认样式不满意时进行定制。
{
indent: "",// 列表项缩进字符
style: "",// 标题样式,可以用red,bgYellow等组合,参阅输出样式
width: 60,// 列表项总宽度
refInterval:200,// 列表项渲染间隔,以ms为单位
progressbar:{
style:"darkGray",// 进度条样式,默认是深灰色
char:".",// 进度条字符,当任务处于运行状态时会动态显示
},
// 当新任务项后会自动running,后续可以调用方法结束任务
status:{
running:{
style:"white",
symbol:"-",
note:""
},
complete:{
style:"green",
symbol:"√",
note:"OK"
},
error:{
style:"red",
symbol:"×",
note:"ERROR"
},
skip:{
style:"yellow",
symbol:"○",
note:"SKIP"
},
stop:{
style:"red",
symbol:"●",
note:"STOP"
},
todo:{
style:"lightCyan",
symbol:"□",
note:"TODO"
}
}
}
除以上
running
、complete
、error
、skip
、stop
、todo
任务状态外,还支持自定义状态。let tasks = logger.tasklist({
status:{
connected:{
symbol:"*",
style:"green"
}
}
})
tasks.add("正在连接")
tasks.connected()
API
- add(title)
新增加一个任务,增加后会自动进入运行状态,如果上一个任务还在进行中会自动完成。
- <状态名称>(note)
【推荐简单好用的终端输出彩色内容的开源nodejs工具库】使当前正在进行的任务结束并进入指定的状态,传入的可选的note
参数显示在最右侧。
基本用法
import createLogger from "./index.js"
import BannerPlugin from "./banner.plugin.js"const logger = createLogger()
logger.use(BannerPlugin)let banner = logger.banner({ })banner.add("Logsets Utility Toolkit")
banner.add("Output color elements at the terminal")
banner.add("Version: ",1)
banner.add("Release: ","2022-01-01")
banner.render()
输出效果如下:
文章图片
banner = logger.banner({
width:60
})
banner.add("Logsets工具库")
banner.add("在终端命令行输出彩色文本",{style:"darkGray"})
banner.add()// 输出空行
banner.add("版本: ",1)
banner.add("网站: ","http://www.logsets.com",{align: 'left',style:["","lightBlue"]})
banner.add("发布日期: ","2022-01-01",{align: 'right',style:["","lightMagenta"]})
banner.add("作者: ","fisher",{align: 'right',style:["","lightCyan"]})
banner.add("许可证: ","MIT ","GPL ","Apache 2.0",{style:["","red"]})
banner.render()
文章图片
配置参数
{
indent: " ",// 横幅整体缩进
border: {
style: "lightGray",// 边框颜色
width: 1// 边框宽度,0-不显示,1-单线框,2-双线框
},
// 第一行自动作为标题行
title: {
align: "center",// 标题对齐方式
style: ["","","green,bright","",""],// 标题样式颜色
wrapper: "☆ ☆ ☆"// 标题包裹符号,用来装饰
},
align: "center",// 横幅行默认对齐方式,默认居中
paddingLeft: 4,// 左右空白宽度,以字符为单位
paddingRight : 4,
paddingTop: 1,// 顶部和底部空白行
paddingBottom: 1
}
API
- add(arg1,arg2,...,{options})
增加行,支持多个输出参数,每个参数均会按照logger的数据类型的配色进行输出。
如果最后一个参数是一个{},则支持配置额外的样式和参数。
banner.add(arg1,arg2,...,{ align:"center | left | right",// 整体居中、居左、居右 // 指定该行整行的色彩 style:"<色彩样式>", // 可以为每一个参数指定颜色。 style:[ "<第1个参数的色彩样式>", "<第2个参数的色彩样式>", "<第3个参数的色彩样式>", ..., "<第n个参数的色彩样式>" ] //当参数个数与style数组长度不匹配时,会取最后一个style[style.length-1] })// text1显示红色,text2/text3/text4显示黄色 banner.add("text1","text2","text3","text4",{style:["red","yellow"]})
基本用法
import createLogger from "./index.js"
import TreePlugin from "./tree.plugin.js"const logger = createLogger()
logger.use(TreePlugin)let tree = logger.tree({
root:"文件结构"
})
tree.addNode("readme.md")
tree.addNode("package.json")
tree.addNode("个人简历.doc",{note:logger.colors.green("√")})
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx")
tree.addNode("",{style:"yellow"})
tree.beginChildren()
tree.addNode("readme.md")
tree.addNode("package.json")
tree.addNode("个人简历.doc")
tree.beginChildren()
tree.addNode("readme.md")
tree.addNode("package.json")
tree.addNode("个人简历.doc")
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx",{last:true})
tree.endChildren()
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx",{last:true})
tree.endChildren()
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx",{last:true})
输出效果如下:
文章图片
树还可以配置为每一个节点输出备注信息。
let tree = logger.tree({
root:"文件结构",
note:{
enable:true
}
})
tree.addNode("readme.md",{note:logger.colors.green("√")})
tree.addNode("package.json",{note:logger.colors.green("√")})
tree.addNode("个人简历.doc",{note:logger.colors.green("√")})
tree.addNode("网络组网方案.docx",{note:logger.colors.green("√")})
tree.addNode("工资清单.xlsx",{note:logger.colors.green("√")})
tree.addNode("",{style:"yellow",note:logger.colors.red("×")})
tree.beginChildren()
tree.addNode("readme.md")
tree.addNode("package.json")
tree.addNode("个人简历.doc")
tree.beginChildren()
tree.addNode("readme.md")
tree.addNode("package.json",{note:logger.colors.red("×")})
tree.addNode("个人简历.doc",{note:"已审核"})
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx",{last:true})
tree.endChildren()
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx",{last:true})
tree.endChildren()
tree.addNode("网络组网方案.docx")
tree.addNode("工资清单.xlsx",{last:true})
输出效果如下:
文章图片
配置参数
{
root: "Root",// 根节点显示内容
width: 60,// 当显示备注信息时,树的总宽度
indent:" ",// 整体缩进字符
node:{
style:"",// 默认节点样式
},
note:{// 节点备注
enable:false,// 是否显示备注信息
style:"darkGrey",// 备注信息的默认样式
char:".",// 备注指示线
}
}
API
- addNode(text,{style,note,last})
增加一个树节点
style
用来配置节点的显示颜色样式,如style="red"
时,节节点文本显示为红色。
note
用来提供备注信息;
last
用来提示这是当前最后一个节点,当添加节点时,树线默认显示├──
,当last=true
时,则显示└──
,这样就可以确保最后一个子节点显示正确。
beginChildren()
、endChildren()
开始和结束一个子节点集。
logsets
依赖于ansicolors
,并且将其挂在了logsets.colors
下,因此也可以直接调用来生成彩色内容。import createLogger from "./index.js"
import TreePlugin from "./tree.plugin.js"const logger = createLogger()console.log(ogger.colors.red(text))
console.log(logger.colors.green(text))
console.log(logger.colors.yellow(text))
console.log(logger.colors.blue(text))
console.log(logger.colors.magenta(text))
console.log(logger.colors.cyan(text))
console.log(logger.colors.white(text))
console.log(logger.colors.darkGray(text))
console.log(logger.colors.black())
/.......更加的着色方法请参考ansicolor文档
logger.colors===ansicolor
实例,可参考其文档。全局配置
logsets
支持丰富的配置参数,可以自定义输出样式。默认配置 完整配置如下:
import createLogger from "logsets"
const log = createLogger({
indent: "",// 缩进
singleQuotes: false,// 显示单引号
template: "[{level}] {datetime} - {message}",// 模板
compact:false,// 是否采用紧凑模式输出
Array:{
compact : true,// 是否采用紧凑模式输出
maxItems: 100,// 数组最大长度,超过则显示省略号
memo: (value)=> darkGray("(共"+value.length+"项)")// 当数组数量超过maxItems时,显示共几项的备注
},
Object:{
compact:true,// 是否采用紧凑模式输出
maxItems:100,// 成员数量,超过则显示省略号
align:true,// 是否自动对齐
memo:(value)=> darkGray("(共"+value.length+"项)"),
},
Function : {
style:"lightCyan",
format:value=>value.name ? `[Function ${value.name}]` : "()=>{...}"
},
AsyncFunction: {
style:"lightCyan",
format:value=>value.name ? `[AsyncFunction ${value.name}]` : "async ()=>{...}"
},
Error: {
style:"red",
format:e=>`${e.name.firstUpper()}('${e.message}')`
},
Null: "darkGray",
Undefined: "darkGray",
Boolean: "cyan",
Number: "yellow",
String: "green",
Class: {
style:"lightCyan",
format:value=>`[Class ${value.name}]`
},
Instance : {
style:"lightBlue",
format:value=>``
},
Date: {
style:"lightBlue",
format:(value)=>`${value.getFullYear()}-${value.getMonth()+1}-${value.getDate()} ${value.getHours()}:${value.getMinutes()}:${value.getSeconds()}`
},
Symbol: "blue",
RegExp: {
style:"magenta",
format:(value)=>`${value.toString()}`
},
levels:{
align: true,// 是否自动对齐消息
maxLineChars: 90,// 每行最大字符数
memo: "darkGray",
debug: "lightGray",
info: "dim",
warn: "yellow",
error: "red",
fatal: "red"
}
})
以上是默认的配置,一般情况不需要进行修改覆盖。
数据类型显示样式 各种数据类型均可以配置显示样式,支持配置
Array
、Object
、Function
、AsyncFunction
、Error
、Date
、Null
、Undefuned
、Boolean
、Number
、String
、Class
、Instance
,Symbol
、Regexp
。配置数据类型的样式可以按如下方式:
// 1. 简单指定类型的样式名称
{
[数据类型名称]:"<样式名称>,<样式名称>,...,<样式名称>"
}
// 2. 指定类型的样式名称,同时指一个格式化函数来用内容进行格式化
{
[数据类型名称]:{
style:"<样式名称>,<样式名称>,...,<样式名称>",
format:(value)=>{...<返回格式化后的内容>...}
}
}
显示样式名称支持设置一个或多个,同时使用多个时采用
,
分开。样式名称用来指定以何种前景颜色、背景颜色或修饰样式,支持如下值:
- 普通前景色:
red
,green
,yellow
,blue
,magenta
,cyan
,white
,darkGray
,black
- 加亮前景色:
lightRed
,lightGreen
,lightYellow
,lightBlue
,lightMagenta
,lightCyan ,lightGray
- 加亮前景色:
- 普通背景色:
bgRed
,bgGreen
,bgYellow
,bgBlue
,bgMagenta
,bgCyan
,bgWhite
,bgDarkGray
,bgBlack
- 加亮背景色:
bgLightRed
,bgLightGreen
,bgLightYellow
,bgLightBlue
,bgLightMagenta
,bgLightCyan
,bgLightGray
- 修饰样式:
bright
,dim
,italic
,underline
,inverse
logger.config({
Boolean:"bgLightRed,white"
})
代表对
Boolean
类型数据采用亮红色背景,白色文本方式显示。注:样式可能受不平操作系统平台差异,部分样式不支持。
文本样式 在上述所有功能中均会使用一个
style
参数来配置自定义的显示样式。style
参数是一个使用,
分割的字符串,可以同时应用1-N
个字符串色彩和样式。比如style="bgLightRed,white"
代表采用亮红色背景,白色文本方式显示。版本历史 最新版本:
1.0.7
开源地址:https://gitee.com/zhangfisher/logsets.git
推荐阅读
- C语言链表实现简单图书管理系统
- 普通二本计算机考研推荐学校江苏,计算机考研,本科内蒙二本,在偏北方有没有推荐的学校(...)
- HertzBeat赫兹节拍|HertzBeat赫兹节拍 v1.0.beta.5 发布,易用友好的监控告警系统
- Java实现简单图书借阅系统
- 高手过招不用鼠标,一款超好用的跨平台命令行界面库
- 如何写一份好的吸引人的简历
- 推荐|推荐 5 个 yyds 的开源 Python Web 框架
- 简单搜索|Smallest Difference POJ-2718(全排列)
- Golang 基础之基础语法梳理 (二)
- Nexus3上传npm依赖