在开发nodejs
终端应用程序时,在终端输入带色彩的文本,反对以下个性:
- 反对按不同数据类型以不同的色彩显示,并且能够配置
- 反对按
DEBUG
、INFO
、WARN
、ERROR
、FATAL
五个级别输入日志 - 反对输入带色彩的模板字符串
- 反对主动格式化显示
{}
和[]
类型 - 反对弱小的表格输入
- 反对输入工作列表、进度条、横幅和树等扩大
- 正确处理中文与英文混排时的对齐问题
开源地址:https://gitee.com/zhangfisher/logsets.git
装置
npm install logsetsyarn add logsetspnpm 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