如何禁用firefox控制台对重复输出进行分组?

时间:2016-12-06 09:31:34

标签: firefox logging console firefox-developer-tools

任何人都知道如何避免firefox控制台对日志条目进行分组?

我已经看过如何使用firebug https://superuser.com/questions/645691/does-firebug-not-always-duplicate-repeated-identical-console-logs/646009#646009执行此操作,但我在 about:config 部分找不到任何组日志条目。

我不想使用Firebug,因为它不再受支持或维护,我真的很喜欢firefox控制台。

我尝试更好地解释,我希望控制台打印所有日志而不是红色徽章,其中包含一个日志字符串的出现次数:

enter image description here

在上面的图片中,我希望第一个日志行有两行,第二行有两行,第三行有三行。

这可能吗?

提前致谢

5 个答案:

答案 0 :(得分:9)

正如我在评论部分提到的那样,目前无法实现这一目标。也许您应该尝试通过Bugzilla@Mozilla

申请此功能

您也可以查看Gaps between Firebug and the Firefox DevTools

答案 1 :(得分:3)

作为解决方法,您可以将Math.random()附加到日志字符串。那应该使您所有的输出消息都是唯一的,这将导致它们全部被打印出来。例如:

console.log(yourvariable +“” + Math.random());

答案 2 :(得分:1)

尽管您仍然无法做到这一点(截至2018年8月),但我有一个变通办法,可能取决于您的喜好。

您必须在控制台中显示与一行不同的/唯一的内容,以避免数字太少并获得单独的一行。

我正在调试一些JavaScript。

我收到“ Return false”的消息,控制台中的蓝色小3表示连续出现三个错误结果。 (我没有显示“真实”结果。)

如果要进行更多测试,我想查看所有三个“假”消息。

我发现,如果我插入另一个每次都会显示不同内容的console.log语句(在我的情况下,由于输入数据相对较短,我只是显示了输入数据),那么对于每个“返回false”,我将获得单独的行”,而不是带有小号3的一个。

因此,在下面的代码中,如果您取消注释:“ console.log(data);”,则将获取数据,然后是“ Return false”,而不是仅用3表示的“ false”。 / p>

如果您不希望在控制台中添加额外的行,则另一种选择是将两个语句都包含在其中:“ console.log(” Return false-“ + data);”

function(data){

   ...more code here...

    // console.log(data);
    console.log("Return false ");
    return false;
}

threeWords("Hello World hello"); //== True
threeWords("He is 123 man"); //== False
threeWords("1 2 3 4"); //== False
threeWords("bla bla bla bla"); //== True
threeWords("Hi"); // == False

答案 3 :(得分:1)

现在,Web控制台工具栏的右侧有一个设置菜单(),其中包含✓组相似消息

Firefox's Web Console

答案 4 :(得分:0)

要针对所有浏览器解决此问题,您可以使用以下解决方法:解决方法:在console.log中覆盖window命令,以使每个后续行都与上一行不同。

这包括在添加不可见的零宽度空格,添加时间戳和添加行号之间切换。参见下面的一些示例:

(function()
{
    var prefixconsole = function(key, fnc)
    {
        var c = window.console[key], i = 0;
        window.console[key] = function(str){c.call(window.console, fnc(i++) + str);};
    };

    // zero padding for linenumber
    var pad = function(s, n, c){s=s+'';while(s.length<n){s=c+s;}return s;};

    // just choose any of these, or make your own:
    var whitespace = function(i){return i%2 ? '\u200B' : ''};
    var linenumber = function(i){return pad(i, 6, '0') + ' ';};
    var timestamp = function(){return new Date().toISOString() + ' ';};

    // apply custom console (maybe also add warn, error, info)
    prefixconsole('log', whitespace); // or linenumber, timestamp, etc
})();

复制带有零宽度空格的日志消息时要小心。