diff --git a/coco.js b/coco.js index f1b34c6..cc99c5a 100644 --- a/coco.js +++ b/coco.js @@ -1,5 +1,6 @@ // colors only works in nodejs cli // consola works in nodejs and browser +// chalk 和 colors 用法类似。 const colors = require('colors') @@ -14,35 +15,35 @@ module.exports = // 客户端 uniapp cclog (...args) { console.log( - `%c ${new Date().toJSON()} ${routeNow()}`, + `%c ${new Date().toJSON()} [LG] ${routeNow()}`, 'background: #808080; border-radius: 0.5em;color: white; font-weight: bold; padding: 2px 0.5em;', ...args ) }, ccinfo (...args) { console.info( - `%cℹ️ ${new Date().toJSON()} ${routeNow()}`, + `%c ${new Date().toJSON()} [IF] ${routeNow()}`, 'background: #0000ff; border-radius: 0.5em;color: white; font-weight: bold; padding: 2px 0.5em;', ...args ) }, ccgood (...args) { console.info( - `%c✅ ${new Date().toJSON()} ${routeNow()}`, + `%c ${new Date().toJSON()} [OK] ${routeNow()}`, 'background: #2ecc71; border-radius: 0.5em;color: white; font-weight: bold; padding: 2px 0.5em;', ...args ) }, ccwarn (...args) { console.warn( - `%c❗️ ${new Date().toJSON()} ${routeNow()}`, + `%c ${new Date().toJSON()} [WA] ${routeNow()}`, 'background: #f39c12; border-radius: 0.5em;color: white; font-weight: bold; padding: 2px 0.5em;', ...args ) }, ccerror (...args) { console.error( - `%c❌ ${new Date().toJSON()} ${routeNow()}`, + `%c ${new Date().toJSON()} [ER] ${routeNow()}`, 'background: #c0392b; border-radius: 0.5em;color: white; font-weight: bold; padding: 2px 0.5em;', ...args ) @@ -50,64 +51,66 @@ module.exports = ccdebug (...args) { if (process.env.NODE_ENV !== 'production') { console.debug( - `%c ${new Date().toJSON()} ${routeNow()}`, + `%c ${new Date().toJSON()} [DB] ${routeNow()}`, 'background: #ff0000; border-radius: 0.5em;color: white; font-weight: bold; padding: 2px 0.5em;', ...args ) } }, } - : typeof uniCloud === 'undefined' + : typeof uniCloud !== 'undefined' ? { - // 后台服务器命令行 + // uniCloud 云空间 + // HBuilder 内置环境的 console 不支持颜色。为了检查是否支持颜色,测试 uniCloud 是否存在(不存在说明在自己的server环境里), + // 或 require('supports-color'),相应的返回不同的函数。 cclog (...args) { - console.log(colors.blue(new Date().toJSON()), ...args) + console.log(new Date().toJSON(), '[LG]', ...args) }, ccinfo (...args) { - console.info('ℹ️', colors.blue(new Date().toJSON()), ...args) + console.info(new Date().toJSON(), '[IF]', ...args) }, ccgood (...args) { - console.info('✅', colors.green(new Date().toJSON()), ...args) + console.info(new Date().toJSON(), '[OK]', ...args) }, ccwarn (...args) { // console.warn will appear in pm2's error log - console.warn('❗️', colors.yellow(new Date().toJSON()), ...args) + console.warn(new Date().toJSON(), '[WA]', ...args) }, ccerror (...args) { // console.error will appear in pm2's error log - console.error('❌', colors.red(new Date().toJSON()), ...args) + console.error(new Date().toJSON(), '[ER]', ...args) }, ccdebug (...args) { if ('production' !== process.env.NODE_ENV) { // 在server的测试环境下. 注意在 uniCloud 环境下,`process.env.NODE_ENV` 不存在. 如要应用本方法,需要手动设置 `process.env.NODE_ENV` - console.log(colors.rainbow(new Date().toJSON()), ...args) + console.log(new Date().toJSON(), '[DB]', ...args) } }, } : { - // HBuilder 内置环境的 console 不支持颜色。为了检查是否支持颜色,测试 uniCloud 是否存在(不存在说明在自己的server环境里),或 require('supports-color'),相应的返回不同的 ccXXX 函数。 - // uniCloud 云空间 + // 后台服务器命令行。注意如果输出重定向到文件里,会有 ESC[34m2023-10-07T12:32:00.915ZESC[39m 这样的特殊标识。 + // 在 pm2 里,为了防止特殊标志,可用 --no-color cclog (...args) { - console.log(new Date().toJSON(), ...args) + console.log(colors.blue(new Date().toJSON()), '[LG]', ...args) }, ccinfo (...args) { - console.info('ℹ️', new Date().toJSON(), ...args) + console.info(colors.blue(new Date().toJSON()), '[IF]', ...args) }, ccgood (...args) { - console.info('✅', new Date().toJSON(), ...args) + console.info(colors.green(new Date().toJSON()), '[OK]', ...args) }, ccwarn (...args) { // console.warn will appear in pm2's error log - console.warn('❗️', new Date().toJSON(), ...args) + console.warn(colors.yellow(new Date().toJSON()), '[WA]', ...args) }, ccerror (...args) { // console.error will appear in pm2's error log - console.error('❌', new Date().toJSON(), ...args) + console.error(colors.red(new Date().toJSON()), '[ER]', ...args) }, ccdebug (...args) { if ('production' !== process.env.NODE_ENV) { // 在server的测试环境下. 注意在 uniCloud 环境下,`process.env.NODE_ENV` 不存在. 如要应用本方法,需要手动设置 `process.env.NODE_ENV` - console.log(new Date().toJSON(), ...args) + console.log(colors.rainbow(new Date().toJSON()), '[DB]', ...args) } }, }