web-dev-qa-db-ja.com

console.trace()を使用してjsスタックトレースをログに記録するが、折りたたんだままにする方法

アプリ内の特定の関数呼び出しのスタックトレースをログに記録したかったのです。 console.trace()がデータを表示する方法が好きですが、常にコンソール拡張に吐き出します。数十のログがある場合、これはすぐに厄介になります。

ログError()。stack、console.error()、Error.captureStackTrace()の使用を提案する人もいました。しかし、これらすべてに私が気に入らないことがありました。 console.errorはコンソールを乱雑にし、実際のエラーを確認するのを困難にします。他のものは、ニースまたは使用可能なスタックとして印刷されませんでした。

Console.trace()をデフォルトで折りたたむようにする方法があるはずです。

11
user1768699

答えはconsole.groupCollapsed();を使用することでした。

    console.groupCollapsed('name to show to identify trace');
    console.log('additional data hidden inside collapsed group');
    console.trace(); // hidden in collapsed group
    console.groupEnd();

これはコンソールでは次のようになります。 (クロムで動作しますが、他の人にはわかりません)

enter image description here

22
user1768699