現在遊んでいるサードパーティのページの出力から多くのノイズが発生しています。コンソールで出力をフィルタリングする方法があるかどうか疑問に思っています。Logcat のフラグのようなもの。それを行う方法はありますか?
編集
最大のノイズの原因となっている出力を無効にする方法を見つけました。コンソールを右クリックしてクリックし、XMLHttpRequest Logging
オプションを無効にしました。それは私が欲しかったものではありませんが、私が必要としていたものです。
現在遊んでいるサードパーティのページの出力から多くのノイズが発生しています。コンソールで出力をフィルタリングする方法があるかどうか疑問に思っています。Logcat のフラグのようなもの。それを行う方法はありますか?
編集
最大のノイズの原因となっている出力を無効にする方法を見つけました。コンソールを右クリックしてクリックし、XMLHttpRequest Logging
オプションを無効にしました。それは私が欲しかったものではありませんが、私が必要としていたものです。
上記の回答コメントよりもさらに進んでください..
コンソール モード (Windows では Control Shift J) に入り、次のように入力します。
console.nativeLog = console.log;
次に、これを入力します
console.log = function( a, b ){ if(a=="extension") console.nativeLog( b ) }
最初の行は、ネイティブ実装を安全な場所に保持します。2行目は、あなたが要求したことのほとんどを行います。
私のために働きます。
私はこれに対する私の解決策についてブログを書きました。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 ファイルについては、私のブログ投稿をご覧ください。
ページ スクリプトと拡張スクリプトの両方を制御できる場合は、独自の関数を使用して両方を実行できます。その関数では、出力を制御できるようになりました。
var pageErrors = true;
var extErrors = true;
function outputToConsole(message, sender) {
if (sender == 'page' && pageErrors) { console.write(message); }
if (sender == 'ext' && extErrors) { console.write(message); }
}
ログを記録したいすべての場所で console.log を outputToConsole() に置き換えます
これは、同じ問題を解決するために私が書いたものです。以前の回答と比較して、複数の引数を適切に処理し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) {};
};
})();