共计 15502 个字符,预计需要花费 39 分钟才能阅读完成。
在开发 nodejs
终端应用程序时,在终端输入带色彩的文本,反对以下个性:
- 反对按不同数据类型以不同的色彩显示,并且能够配置
- 反对按
DEBUG
、INFO
、WARN
、ERROR
、FATAL
五个级别输入日志 - 反对输入带色彩的模板字符串
- 反对主动格式化显示
{}
和[]
类型 - 反对弱小的表格输入
-
- 反对输入工作列表、进度条、横幅和树等扩大
- 正确处理中文与英文混排时的对齐问题
开源地址:https://gitee.com/zhangfisher/logsets.git
装置
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:对表单元外面的对象和数组进行着色, 须要额定的计算
API
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
减少表尾,一个表格只能显示一个表尾。
addFooter(content,
{
style:"darkGray", // 表尾色彩款式 , 当 merge=false 时失效
merge:<true/false>, // 是否合并行显示, 默认 true
align:"left", // 对齐形式,取值:left,auto,center,right
style:""
})
content
参数用法与addSummary
一样。- 表尾反对能够通过
{merge:<true/false>}
来配置是否合并显示或者分列显示。如addFooter([1,2,3,4],{merge:false})
- 默认状况下
merge=true
,即addFooter("内容")===addFooter("内容",{merge:true})
。
addSeparator
当 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
用来管制进度值,默认是红色空格。
API
-
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)
使以后正在进行的工作完结并进入指定的状态,传入的可选的
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("<src>",{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("<src>",{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=>`<Class(${value.constructor.name})>`
},
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