26

我目前正在玩的第 3 方页面的输出中有很多噪音,我想知道是否有办法过滤控制台上的输出。类似于 Logcat 的标志。有没有办法做到这一点?

编辑

我找到了一种方法来禁用导致最大噪音的输出。我在控制台上单击鼠标右键,然后禁用该XMLHttpRequest Logging选项。这不是我想要的,但这是我需要的。

4

5 回答 5

23

您可以使用正则表达式。

例如排除browser-sync我使用的词^((?!browser-sync).)*$

在此处输入图像描述

另请参阅此处


铬 44.0.2403.125

于 2015-07-31T11:43:10.557 回答
21

比上述答案评论更进一步..

进入控制台模式(Windows 上的 Control Shift J),输入:

console.nativeLog = console.log;

然后输入这个

console.log = function( a, b ){ if(a=="extension") console.nativeLog( b ) }

第一行将本机实现保持在安全位置。第二行几乎可以满足您的要求。

为我工作。

于 2011-07-20T20:24:37.480 回答
3

我刚刚在博客上介绍了我的解决方案。我修改了 Ben Alman 的“ba-debug”库并制作了一个模块化的“Trace”对象,旨在用于不同的模块或代码区域(由您定义)。

基本用法:

   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); 

这是我的博客文章以获取更多详细信息和 JavaScript 文件:

于 2011-09-07T15:51:24.600 回答
2

如果您可以同时控制页面和扩展脚本,那么您可以通过自己的函数运行这两者。在该功能中,您现在可以控制输出。

var pageErrors = true;
var extErrors = true;

function outputToConsole(message, sender) {
   if (sender == 'page' && pageErrors) { console.write(message); }
   if (sender == 'ext' && extErrors) { console.write(message); }
}

在任何你想记录的地方用 outputToConsole() 替换 console.log

于 2011-07-12T04:16:36.287 回答
0

这是我刚刚写的来解决同样的问题。与之前的答案相比,它的好处是可以正确处理多个参数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) {};
    };
})();
于 2014-04-27T21:28:31.500 回答