diff --git a/src/Console/Console.js b/src/Console/Console.js index f774ed9..7bb379d 100644 --- a/src/Console/Console.js +++ b/src/Console/Console.js @@ -40,14 +40,7 @@ export default class Console extends Tool { } winConsole[name] = (...args) => { - if ( - args.length > 0 || - name === 'group' || - name === 'groupCollapsed' || - name === 'groupEnd' - ) { - this[name](...args) - } + this[name](...args) origin(...args) } }) @@ -155,7 +148,7 @@ export default class Console extends Tool { config = this.config $control - .on('click', '.eruda-clear-console', () => logger.clear()) + .on('click', '.eruda-clear-console', () => logger.silentClear()) .on('click', '.eruda-filter', function() { logger.filter($(this).data('filter')) }) diff --git a/src/Console/Logger.js b/src/Console/Logger.js index 095a21b..854624b 100644 --- a/src/Console/Logger.js +++ b/src/Console/Logger.js @@ -15,7 +15,8 @@ import { stripHtmlTag, loadJs, $, - Stack + Stack, + isEmpty } from '../lib/util' export default class Logger extends Emitter { @@ -68,15 +69,15 @@ export default class Logger extends Emitter { return this.render() } - count(label) { + count(label = 'default') { const count = this._count !isUndef(count[label]) ? count[label]++ : (count[label] = 1) - return this.html(`
${label}: ${count[label]}
`) + return this.html(`${label}: ${count[label]}`) } assert(...args) { - if (args.length === 0) return + if (isEmpty(args)) return const exp = args.shift() @@ -86,41 +87,47 @@ export default class Logger extends Emitter { } } log(...args) { - this.insert('log', args) + if (isEmpty(args)) return - return this + return this.insert('log', args) } debug(...args) { - this.insert('debug', args) + if (isEmpty(args)) return - return this + return this.insert('debug', args) } - dir(...args) { - this.insert('dir', args) + dir(obj) { + if (isUndef(obj)) return - return this + return this.insert('dir', [obj]) } table(...args) { - this.insert('table', args) + if (isEmpty(args)) return - return this + return this.insert('table', args) } - time(name) { + time(name = 'default') { this._timer[name] = perfNow() return this } - timeEnd(name) { + timeEnd(name = 'default') { const startTime = this._timer[name] if (!startTime) return delete this._timer[name] - return this.html( - `
${name}: ${perfNow() - startTime}ms
` - ) + return this.html(`${name}: ${perfNow() - startTime}ms`) } clear() { + this.silentClear() + + return this.insert('log', [ + '%cConsole was cleared', + 'color:#808080;font-style:italic;' + ]) + } + silentClear() { this._logs = [] this._lastLog = {} this._groupStack = new Stack() @@ -128,12 +135,18 @@ export default class Logger extends Emitter { return this.render() } info(...args) { + if (isEmpty(args)) return + return this.insert('info', args) } error(...args) { + if (isEmpty(args)) return + return this.insert('error', args) } warn(...args) { + if (isEmpty(args)) return + return this.insert('warn', args) } group(...args) { diff --git a/src/Console/Logger.scss b/src/Console/Logger.scss index 64d0d72..b9ba4ab 100644 --- a/src/Console/Logger.scss +++ b/src/Console/Logger.scss @@ -156,7 +156,6 @@ } &.debug { z-index: 20; - color: $blue; } &.warn { z-index: 40; @@ -166,7 +165,6 @@ } &.info { z-index: 30; - color: $blue; } &.output { color: $gray-dark; diff --git a/test/console.js b/test/console.js index 6ec084d..6cbf9e6 100644 --- a/test/console.js +++ b/test/console.js @@ -4,7 +4,7 @@ describe('console', function() { beforeEach(function() { eruda.show('console') - tool.clear() + tool._logger.silentClear() }) it('string', function() {