web-dev-qa-db-ja.com

Firefoxコンソールで重複する出力をグループ化しないようにするにはどうすればよいですか?

ログエントリをグループ化するためにFirefoxコンソールを回避する方法を知っている人はいますか?

Firebug https://superuser.com/questions/645691/does-firebug-not-always-duplicate-repeated-identical-console-logs/646009#646009 でそれを行う方法を見てきましたが、 about:configセクションにグループログエントリが見つかりません。

Firebugはもうサポートも保守もされていないので、使用したくありません。Firefoxコンソールが本当に好きです。

私はよりよく説明しようと思います。1つのログ文字列の出現回数を示す赤いバッジではなく、すべてのログをコンソールに出力してください。

enter image description here

上の画像では、最初のログ行を2行、2行目を2行、3行目を3行にしたいと思います。

これは可能ですか?

前もって感謝します

29
amicoderozer

設定メニューがあります()Webコンソールのツールバーの右側にある ✓ Group Similar Messages

Firefox's Web Console

コメントセクションで述べたように、現時点ではこれを達成する方法はありません。 Bugzilla @ Mozilla を介してこの機能をリクエストする必要があるかもしれません

また、確認できます FirebugとFirefox DevToolsの間のギャップ

9
Mehdi Dehghani

回避策として、ログ文字列にMath.random()を追加できます。これにより、すべての出力メッセージが一意になり、すべてが出力されます。例えば:

console.log(yourvariable + "" + Math.random());

4
DaveS

あなたはまだこれを行うことができませんが(2018年8月現在)、私はあなたの好みに合うかもしれないしそうでないかもしれない回避策を持っています。

小さな数字を避けて個々の行を取得するには、コンソールの行とは異なる/一意の何かを表示する必要があります。

JavaScriptをデバッグしています。

コンソールに小さな青色の3が表示され、3つの誤った結果が連続することを示す「Return false」が表示されていました。 (私は「真の」結果を表示していませんでした。)

さらに多くのテストを行う場合に備えて、3つの「偽」メッセージをすべて表示したかったのです。

毎回異なる何かを表示する別のconsole.logステートメントを挿入した場合(私の場合、入力データは比較的短いため表示しただけです)、「Return false」の代わりに個別の行が表示されることがわかりました。 1つは小さな3。

したがって、以下のコードでは、これをコメント解除すると、「console.log(data);」、データが取得され、その後に「false」ではなく「Return false」が少しずつ表示されます。

コンソールに追加の行が必要ない場合の別のオプションは、両方のステートメントを1つに含めることです: "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
1
user9209408

これをブラウザで解決するには、これを使用できます回避策windowconsole.logコマンドをオーバーライドして、後続のすべての行を前の行と区別します。

これには、見えないゼロ幅の空白の前置、タイムスタンプの前置、行番号の前置の切り替えが含まれます。いくつかの例については、以下を参照してください。

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

ゼロ幅の空白を含むログメッセージをコピーする場合は注意してください。

0
Yeti