From 7abe363fc1461266a684099ffce27b0ea10507a4 Mon Sep 17 00:00:00 2001 From: surunzi Date: Thu, 5 May 2016 11:39:39 +0800 Subject: [PATCH] Dev: Trigger origin console if override --- src/Console/Console.es6 | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/Console/Console.es6 b/src/Console/Console.es6 index 81c70a6..cb3505d 100644 --- a/src/Console/Console.es6 +++ b/src/Console/Console.es6 @@ -26,14 +26,21 @@ export default class Console extends Tool var log = this._log, winConsole = window.console; - winConsole.log = function () { log.log.apply(log, arguments) }; - winConsole.error = function (msg) { log.error(msg) }; - winConsole.info = function () { log.info.apply(log, arguments) }; - winConsole.warn = function () { log.warn.apply(log, arguments) }; - winConsole.dir = function (obj) { log.dir(obj) }; - winConsole.time = function (name) { log.time(name) }; - winConsole.timeEnd = function (name) { log.timeEnd(name) }; - winConsole.clear = function () { log.clear() }; + function override(name) + { + var origin = winConsole[name]; + + winConsole[name] = function () + { + log[name].apply(log, arguments); + + origin.apply(winConsole, arguments); + }; + } + + var methods = ['log', 'error', 'info', 'warn', 'dir', 'time', 'timeEnd', 'clear']; + + methods.forEach((name) => override(name)); return this; }