diff --git a/assets/logger/logger.js b/assets/logger/logger.js index 5e1d4d4..69c339e 100644 --- a/assets/logger/logger.js +++ b/assets/logger/logger.js @@ -4,6 +4,18 @@ __PluginManager__.register('Logger', function(module, exports, require, global){ var support = require('support'); var Collection = require('Collection'); + var LogLevel = { + EMERGENCY: 'emergency', + ALERT: 'alert', + CRITICAL: 'critical', + ERROR: 'error', + WARNING: 'warning', + NOTICE: 'notice', + INFO: 'info', + DEBUG: 'debug', + SUCCESS: 'success', + }; + /** * @class Logger * @memberOf kit @@ -21,36 +33,35 @@ __PluginManager__.register('Logger', function(module, exports, require, global){ }; Logger.prototype.emergency = function (message, context) { - this.log(0, message, context, 'emergency'); + this.log(LogLevel.EMERGENCY, message, context); }; Logger.prototype.alert = function (message, context) { - this.log(0, message, context, 'alert'); + this.log(LogLevel.ALERT, message, context); }; Logger.prototype.critical = function (message, context) { - this.log(0, message, context, 'critical'); + this.log(LogLevel.CRITICAL, message, context); }; Logger.prototype.error = function (message, context) { - this.log(0, message, context, 'error'); + this.log(LogLevel.ERROR, message, context); }; Logger.prototype.warning = function (message, context) { - this.log(0, message, context, 'warning'); + this.log(LogLevel.WARNING, message, context); }; Logger.prototype.notice = function (message, context) { - this.log(0, message, context, 'notice'); + this.log(LogLevel.NOTICE, message, context); }; Logger.prototype.info = function (message, context) { - this.log(0, message, context, 'info'); + this.log(LogLevel.INFO, message, context); }; Logger.prototype.debug = function (message, context) { - this.log(0, message, context, 'debug'); + this.log(LogLevel.DEBUG, message, context); }; Logger.prototype.success = function (message, context) { - this.log(0, message, context, 'success'); + this.log(LogLevel.SUCCESS, message, context); }; - Logger.prototype.log = function (lvl = 0, message = '', context, type) { + Logger.prototype.log = function (level, message, context = []) { var data = { - lvl: lvl, - type: type, + level: level, message: message, context: context, }; diff --git a/assets/loggerService/loggerService.css b/assets/loggerService/loggerService.css index 9f96c5f..1d27606 100644 --- a/assets/loggerService/loggerService.css +++ b/assets/loggerService/loggerService.css @@ -1,14 +1,14 @@ :root { --logger-color-emergency: hsl(0, 100%, 55%); - --logger-color-alert: hsl(192, 100%, 98%); + --logger-color-alert: hsl(0, 100%, 55%); --logger-color-critical: hsl(0, 100%, 55%); - --logger-color-error: hsl(0, 100%, 55%); + --logger-color-error: #f44336; --logger-color-warning: hsl(31, 100%, 55%); --logger-color-notice: #909090; --logger-color-info: hsl(205, 100%, 61%); - --logger-color-debug: #909090; + --logger-color-debug: #673ab7; --logger-color-success: #8bc34a; - --logger-lvl: 0; + --logger-depth: 1; } .kit-logger, #kit-logger { margin: 0; @@ -49,13 +49,17 @@ logger-item { -ms-flex-align: start; align-items: flex-start; white-space: pre-line; - padding-left: calc(var(--logger-lvl, 0) * 25px); + padding-left: calc((var(--logger-depth, 1) - 1) * 25px); font-size: 12px !important; line-height: 14px !important; } logger-item__value * { color: inherit; } +logger-item__value .logger-toggler { + cursor: pointer; + color: #2698db !important; +} logger-item__msg { } @@ -69,9 +73,6 @@ logger-item__key { logger-item__key:empty { display: none; } -logger-item__lvl { - min-width: 25px; -} logger-item__value { flex: 1 0 0; white-space: pre-wrap; @@ -86,23 +87,37 @@ logger-item__value * { } -.kit-logger-row--critical { +.kit-logger-row--emergency { --logger-color-key: #fff; - --logger-color-content-key: var(--logger-color-error); + --logger-color-content-key: var(--logger-color-emergency); --logger-color-value: #fff; - --logger-color-content-value: var(--logger-color-error); + --logger-color-content-value: var(--logger-color-emergency); +} +.kit-logger-row--alert { + --logger-color-key: var(--logger-color-alert); + --logger-color-value: var(--logger-color-alert); + font-weight: bold; +} +.kit-logger-row--critical { + --logger-color-key: var(--logger-color-critical); + --logger-color-value: var(--logger-color-critical); } .kit-logger-row--error { --logger-color-key: var(--logger-color-error); --logger-color-value: var(--logger-color-error); } +.kit-logger-row--warning { + --logger-color-key: var(--logger-color-warning); + --logger-color-value: var(--logger-color-warning); +} +.kit-logger-row--notice {} .kit-logger-row--info { --logger-color-key: var(--logger-color-info); --logger-color-value: var(--logger-color-info); } -.kit-logger-row--warning { - --logger-color-key: var(--logger-color-warning); - --logger-color-value: var(--logger-color-warning); +.kit-logger-row--debug { + --logger-color-key: var(--logger-color-debug); + --logger-color-value: var(--logger-color-debug); } .kit-logger-row--success { --logger-color-key: var(--logger-color-success); diff --git a/assets/loggerService/loggerService.js b/assets/loggerService/loggerService.js index ccc53bf..e2bb97a 100644 --- a/assets/loggerService/loggerService.js +++ b/assets/loggerService/loggerService.js @@ -5,39 +5,10 @@ __PluginManager__.register('loggerService', function(module, exports, require, g var Logger = require('Logger'); var Collection = require('Collection'); - var lightMap = [ - {class: 'kit-logger-row--success', keys: ['pass', 'success']}, - {class: 'kit-logger-row--warning', keys: ['warn', 'warning']}, - {class: 'kit-logger-row--error', keys: ['fail', 'error', 'errors']}, - ]; - var getLightClass = function(key) { - key = ''+key; - var addClass = '', ar; - for(var i=0; i < lightMap.length; i++){ - ar = lightMap[i]['keys']; - addClass = ar.includes(key)?lightMap[i]['class']:addClass; - } - return addClass; - }; - // function dump(value) { - // var rArray = []; - // if(value === null) { - // rArray[0] = 'null'; - // } else { - // rArray[0] = String(typeof value); - // rArray[1] = emptyPHP(value)?'empty':''; - // } - // return rArray.join(' '); - // }; - function getRowNode(level, key, value, opClass = ''){ - if(opClass) { - opClass = ' kit-logger-row--'+opClass; - } - var lvlTemplate; + function getRowNode(depth, key, value, level = ''){ key = String(key); value = String(value); - lvlTemplate = level?'style="--logger-lvl:'+level+';" ':''; - var result = ''+key+''+value+''; + var result = ''+key+''+value+''; return support.makeNode(result); } @@ -77,61 +48,59 @@ __PluginManager__.register('loggerService', function(module, exports, require, g } }; - LoggerService.prototype.__row = function(message, lvl = 0, opClass = '') { + LoggerService.prototype.__row = function(message, depth = 0, logLevel = '') { if (!this.__htmlCollection) { this.setHtmlCollection(); } var log = this.__htmlCollection; - function setObjectValue(log, lvl, key, value, opClass, depth = 3, openDepth = 1, isRoot = true) { - var rowChild, isObj = support.isObject(value), id = isObj?support.uniqueId():'', + function setObjectValue(log, depth, key, value, opClass, maxDepth = 3, openDepth = 1, isRoot = true) { + var rowChildNode, isObj = support.isObject(value), id = isObj?support.uniqueId():'', + skipValue = value === window || value === document, valueString = ((isObj && typeof value.toString !== 'function') || typeof value === 'symbol')?(typeof value):value, - val = (isObj&&depth)?'':valueString, inp, j, + val = (isObj&&maxDepth&&!skipValue)?'':valueString, inp, j, len = isObj?Object.keys(value).length:0; if(!isRoot || (isRoot && !isObj)) { - log.appendChild(getRowNode(lvl, key, '' + val + (isObj?(' ['+len+']'):''), opClass)); + log.appendChild(getRowNode(depth, key, '' + val + (isObj?(' ['+len+']'):''), opClass)); } - if(value === window || value === document) { + if(skipValue) { return; } - if(isObj&&depth) { - !isRoot && ++lvl; - depth = Math.max(0, depth - 1); + if(isObj&&maxDepth) { + !isRoot && ++depth; + maxDepth = Math.max(0, maxDepth - 1); log.appendChild(inp = support.makeNode('')); inp.checked = !!openDepth; openDepth = Math.max(0, openDepth - 1); - log.appendChild(rowChild = getItemObjectNode(id)); + log.appendChild(rowChildNode = getItemObjectNode(id)); for(j in value) { if(value.hasOwnProperty(j)) - setObjectValue(rowChild, lvl, j, value[j], opClass, depth, openDepth, false); + setObjectValue(rowChildNode, depth, j, value[j], opClass, maxDepth, openDepth, false); } } } - setObjectValue(log, lvl, '', message, opClass, 6, 3); + setObjectValue(log, depth, '', message, logLevel, 6, 3); log.scrollTop = log.scrollHeight; }; LoggerService.prototype.__logHandler = function(data = { - lvl: 0, + level: '', message: '', context: [], - type: '' }){ - lvl = support.toNumber(data.lvl); - var opClass = String(data.type); - this.__row(data.message, lvl, opClass); + this.__row(data.message, 1, data.level); if(support.isObject(data.context)) - this.__row(data.context, lvl+1); + this.__row(data.context, 2); }; LoggerService.prototype.logList = function (logList) { var self = this; logList = new Collection(logList); logList.map(function (log) { - self.log(log.lvl, log.message, log.context, log.type); + self.log(log.level, log.message, log.context); }); }; diff --git a/tests/index.php b/tests/index.php index 71a35d3..a7c87b4 100644 --- a/tests/index.php +++ b/tests/index.php @@ -30,8 +30,9 @@