开门见山,直接把封装好的代码放出来,把这段代码放到自己项目里就可以输出彩色 log 了,这段代码使用了es6语法,使用前请确认自己的node版本:
function log(msg, { title='TITLE', color='white' } = {}) {
const COLOR_CODE = ['black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white'].indexOf(color)
if (COLOR_CODE >= 0) {
const TITLE_STR = title ? `\x1b[4${COLOR_CODE};30m ${title} \x1b[0m ` : ''
console.log(`${TITLE_STR}\x1b[3${COLOR_CODE}m${msg}\x1b[;0m`)
}
else {
console.log(title ? `${title} ${msg}` : msg)
}
}
效果
用法很简单,如下所示,除了第一个参数日志内容以外都可以缺省:
log('日志内容', {
title: '指定标题',
color: '指定颜色'
})
颜色的对应表如下,默认颜色为白色,可以自己指定,如果输入的颜色不支持则显示未白色:
| 颜色 | 对应编码 |
|---|---|
| 黑色 | 'black' |
| 红色 | 'red' |
| 绿色 | 'green' |
| 黄色 | 'yellow' |
| 蓝色 | 'blue' |
| 洋红色 | 'magenta' |
| 青色 | 'cyan' |
| 白色 | 'white' |
你也可以把先把参数默认值修改为自己需要的标题和颜色:
修改默认值
下面是一些实例
log('这是一条简单的log\n')
log('可以指定标题\n', { title: '标题'})
log('也可以不要标题\n', { title: ''})
log('这是一条指定了颜色的log\n', { color: 'blue'})
const COLORS = [ 'black', 'red', 'green', 'yellow', 'blue', 'magenta', 'cyan', 'white' ]
COLORS.map(color => log('这些颜色都是可以的\n', { title: color, color: color}))
效果













网友评论