UNPKG

@gaopeng123/utils.log

Version:
106 lines (102 loc) 3.54 kB
'use strict'; var utils_types = require('@gaopeng123/utils.types'); /********************************************************************** * * @模块名称: log * * @模块作用: log * * @创建人: pgli * * @date: 2023/9/7 1:52 下午 * * @版权所有: pgli * **********************************************************************/ var COLOR_TYPE = ['info', 'log', 'warn', 'error', 'success']; var COLORS = { info: '#bfbfbf', log: '#1677ff', warn: '#fa8c16', error: "#f5222d", success: '#52c41a' }; var getColor = function getColor(type) { return COLORS[type]; }; /** * 创建log的type * @param fn */ var createLogTypesFactory = function createLogTypesFactory(fn) { return COLOR_TYPE.reduce(function (logs, type) { logs[type] = function () { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return fn.apply(void 0, [type].concat(args)); }; return logs; }, {}); }; /** * 带标记的打印 */ var consoleTag = /*#__PURE__*/createLogTypesFactory(function (type, ns, msg) { var _console; var color = getColor(type); var hasTwoTags = utils_types.isString(msg) || utils_types.isNumber(msg); for (var _len2 = arguments.length, args = new Array(_len2 > 3 ? _len2 - 3 : 0), _key2 = 3; _key2 < _len2; _key2++) { args[_key2 - 3] = arguments[_key2]; } var logArgs = ["%c " + ns + " " + (hasTwoTags ? '%c ' + msg : '') + " %c " + (args.length ? '%o' : '')]; if (hasTwoTags) { logArgs.push("background:" + color + ";border:1px solid " + color + "; padding: 1px; border-radius: 4px 0 0 4px; color: #fff;"); logArgs.push("border:1px solid " + color + "; padding: 1px; border-radius: 0 4px 4px 0; color: " + color + ";"); logArgs.push('background:transparent'); } else { logArgs.push("background:" + color + ";border:1px solid " + color + "; padding: 1px; border-radius: 4px; color: #fff;"); logArgs.push('background:transparent'); logArgs.push(msg); } (_console = console).log.apply(_console, logArgs.concat(args)); }); /** * 修改字符串颜色 */ var consoleStr = /*#__PURE__*/createLogTypesFactory(function (type, msg) { var _console2; var color = getColor(type); for (var _len3 = arguments.length, args = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) { args[_key3 - 2] = arguments[_key3]; } (_console2 = console).log.apply(_console2, ["%c " + msg + " " + (args.length ? '%o' : ''), "color: " + color + ";"].concat(args)); }); /** * 修改打印背景 */ var consoleBg = /*#__PURE__*/createLogTypesFactory(function (type, msg) { var _console3; var color = getColor(type); for (var _len4 = arguments.length, args = new Array(_len4 > 2 ? _len4 - 2 : 0), _key4 = 2; _key4 < _len4; _key4++) { args[_key4 - 2] = arguments[_key4]; } (_console3 = console).log.apply(_console3, ["%c " + msg + " " + (args.length ? '%o' : ''), "background:" + color + "; padding: 2px; border-radius: 4px; color: #fff;"].concat(args)); }); /** * 对外报漏修改入口 * @param obj * @param myColors */ var createConsoleFactory = function createConsoleFactory(obj, myColors) { Object.assign(COLORS, myColors); if (utils_types.isObject(obj)) { obj.bg = consoleBg; obj.str = consoleStr; obj.tag = consoleTag; } }; exports.consoleBg = consoleBg; exports.consoleStr = consoleStr; exports.consoleTag = consoleTag; exports.createConsoleFactory = createConsoleFactory;