ブラウザ提供の Javascriptオブジェクトに関するMozilla Developer Networkページには、次のように記載されています。このオブジェクトを上書きしながら、ブラウザのWeb コンソールと対話する方法はありますか?console
Note: At least in Firefox, if a page defines a console object, that object overrides the one built into Firefox.
ユースケースは、Firebug や Google Chrome Inspect Element などのツールによってコンソールにログを記録するときに提供される行番号/ファイル情報を保持しながら、呼び出しをインターセプトconsole.log()
して何か特別なことをしたり、ログ分類などの別のパラメーターを取得したりすることです。私が見つけた最も近い答えは次のとおりです: Intercepting web browser console messagesですが、カスタム コンソール オブジェクトを介して Web コンソールとやり取りしたり、カスタム定義のデバッグ サービスを使用したりすることはありません。
debug.log = function(string, logLevel) {
checkLogLevel(logLevel); // return false if environment log setting is below logLevel
var changedString = manipulate(string);
console.log(changedString);
}
は、関数呼び出しの行番号/ファイル ソースを保持しませんdebug.log()
。console.trace()
オプションとして、トレース スタックを 1 レベル上に移動して何かを実行することもできますが、console.log()
最初に拡張することに興味がありました。また、カスタム ブラウザー拡張機能や Firebug プラグインを作成するのではなく、Firebug などの既存の Web コンソール/ツールで動作するソリューションを見つけたいと思っていますが、このための既存のソリューションを誰かが知っている場合は、それらに興味があります。
明らかに次のようなもの:
console = {
log: function (string) {
console.log('hey!');
}
}
console.log('hey!');
は機能せず、無限再帰が発生します。