我想在日志和信息中覆盖Console中的方法,以便我可以添加更多信息。另外,如果我允许输出控制台方法,我会输入配置。
我不知道是否可以,因为Console是浏览器主机方法。
我在调用override方法时遇到此错误:“Uncaught TypeError:Illegal invocation”
这是我想要的:
var config = {
enableConsole: true,
logLevel: {
0: 'Trace',
1: 'Debug',
2: 'Info'
}
}
var overrideConsole = function () {
var origLog = console.log;
if (window.console) {
if (config.enableConsole) {
console.__proto__.log = function (msg, level) {
if (level) {
level = config.logLevel[level];
} else {
level = config.logLevel[0];
}
origLog(level + ': ' + msg);
}
}
} else {
console = function () {};
}
}
overrideConsole();
console.log('Hello world', 2); // Info: Hello world