我目前正在使用的第三方页面输出的信息很多,我想知道是否有一种方法可以在控制台上过滤输出。类似于Logcat的标志。有办法做到这一点吗?
编辑
我找到了一种禁用最大噪音输出的方法。我在控制台上右键单击,然后禁用了XMLHttpRequest Logging
选项。这不是我想要的,但这正是我所需要的。
我目前正在使用的第三方页面输出的信息很多,我想知道是否有一种方法可以在控制台上过滤输出。类似于Logcat的标志。有办法做到这一点吗?
编辑
我找到了一种禁用最大噪音输出的方法。我在控制台上右键单击,然后禁用了XMLHttpRequest Logging
选项。这不是我想要的,但这正是我所需要的。
进一步扩展上面的回答评论...
进入控制台模式(在Windows上是Control Shift J),输入以下内容:
console.nativeLog = console.log;
然后输入这个
console.log = function( a, b ){ if(a=="extension") console.nativeLog( b ) }
第一行代码将原生实现保留在一个安全的位置。
第二行代码几乎就是你所要求的。 var _trace = new Trace('ModuleName');
_trace.error('error level message');
_trace.warn('warning level message');
_trace.info('information level message');
_trace.log('log level message');
_trace.debug('debug level message');
Trace.traceLevel('ModuleName', Trace.Levels.warn);
var pageErrors = true;
var extErrors = true;
function outputToConsole(message, sender) {
if (sender == 'page' && pageErrors) { console.write(message); }
if (sender == 'ext' && extErrors) { console.write(message); }
}
在你想要记录日志的任何地方,将console.log替换为outputToConsole()
示例:
-WARNING -Errorcode -bonk
将抑制以下类似的消息:
WARNING line 234 something else on this line
This message will still display
Errorcode 234: Some error that will be hidden
bonk
This message will still display
要再次“取消隐藏”这些消息,请注意不需要的脚本已添加到筛选器输入框中 - 只需从其中删除即可恢复消息。
console.log
,并且可以防止缺少window.console.log而抛出未捕获的异常。(function(){
window.console = window.console||{log:0};
var nativeLog = window.console.log;
window.console.log = function() {
try {
// these conditions find all console.log output
// from bitcoinjs-0.1.3 but not much else
// (who else ends an extremely short first parameter with a space?)
if ((arguments.length == 2)
&& (arguments[0].length <= 5)
&& (arguments[0].slice(-2) === ': ')
) {
return;
};
nativeLog.apply(window.console, arguments);
} catch(e) {};
};
})();
-/JSON Viewer load/
-JSON
-/Uncaught \(in promise\) Error: A listener/
console.log('extension', 'The message');
这样的事情,并且过滤输出,只看到带有'extension'标记的内容,而不是整个输出。 编辑 或者按级别过滤:console.warn()
,console.error()
- Jorge Guberte