UNPKG

goldpankit

Version:

GoldPanKit是一款极速研发套件,可在套件中快速构建各类技术框架和项目。开源作者可发布自己的项目,并为其设定金额,实现开源项目的盈利。

97 lines (94 loc) 2.71 kB
const colors = require('colors-console') // 日志配置 let config = { debugMode: false, // 跟踪文件名称,通过--trace-file参数指定 traceFile: null } function getTimestamp () { const date = new Date(); return `${date.getFullYear()-2000}/${date.getMonth() + 1}/${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}` } module.exports = { // 设置日志配置 setConfig (extraConfig) { Object.assign(config, extraConfig) }, // 日志消息 info (message) { console.log(this.__prefix(), colors('cyan', message)) }, // DEBUG日志 debug (message, data) { if (config.debugMode) { console.log(this.__prefix(), colors('grey', `[DEBUG] ${message}`)) if (data) { console.log(data) } } }, // 跟踪文件 traceFile(file, message) { if (config.traceFile == null) { return } if (file.filepath == null || file.filepath === '') { return } // 指定目录 if (config.traceFile.startsWith('/') && config.traceFile.endsWith('/')) { if (file.filepath.indexOf(config.traceFile) !== -1) { console.log(this.__prefix(), `${file.filepath}`, colors('yellow', message)) } return } // 指定文件 if (file.filepath != null && file.filepath.endsWith(config.traceFile)) { console.log(this.__prefix(), `${file.filepath}`, colors('yellow', message)) } }, // 提示消息 tip (message) { console.log(this.__prefix(), colors('cyan', message)) }, // 警告 warn (message) { console.log(this.__prefix(), colors('yellow', '[WARN]'), message) }, // 错误消息 error (message, e) { try { // 字符串 if (typeof message === 'string') { if (e == null) { console.log(this.__prefix(), colors('red', '[ERR]'), message) } else { console.log(this.__prefix(), colors('red', '[ERR]'), message, e) } return } // 异常对象 if (message instanceof Error) { console.log(this.__prefix(), colors('red', '[ERR]'), message) return } // 接口响应 if (message.code != null) { console.log(this.__prefix(), colors('red', '[ERR]'), `${message.code}: ${message.message}`) return } // 其它 console.log(this.__prefix(), colors('red', '[ERR]'), message) } catch (e) { console.error('输出错误消息出现了异常', e) } }, // 成功消息 success (message) { console.log(this.__prefix(), colors('green', '[SUCCESS]'), message) }, // 日志前缀 __prefix () { return colors('grey', getTimestamp()) + colors('cyan', ' [GOLD PAN KIT] ') } }