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() {