Подтвердить что ты не робот

Есть ли способ отфильтровать выход в консоли Google Chrome?

Я получаю много шума от вывода сторонней страницы, с которой я сейчас играю, и мне интересно, есть ли способ отфильтровать вывод на консоли. Что-то вроде флагов Logcat. Есть ли способ сделать это?

ИЗМЕНИТЬ

Я нашел способ отключить вывод, который вызывал наибольшее количество шума. Я щелкнул правой кнопкой мыши на консоли и отключил опцию XMLHttpRequest Logging. Это не то, что я хотел, но это то, что мне нужно.

4b9b3361

Ответ 1

Вы можете использовать регулярные выражения.

Например, чтобы исключить слово browser-sync, я использую ^((?!browser-sync).)*$.

введите описание изображения здесь

См. также здесь


Chrome 44.0.2403.125

Ответ 2

Далее, чем приведенные выше ответы на комментарии.

Перейдите в консольный режим (Control Shift J в Windows), введите следующее:

console.nativeLog = console.log;

Затем введите

console.log = function( a, b ){ if(a=="extension") console.nativeLog( b ) }

Первая строка сохраняет встроенную реализацию в безопасном месте. Вторая строка делает в значительной степени то, что вы запрашиваете.

Работает для меня.

Ответ 3

Я просто писал о своем решении. Я модифицировал библиотеку 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); 

Здесь мой блог post для более подробной информации и файла JavaScript:

Ответ 4

Если вы контролируете скрипты страницы и расширения, вы можете запускать их через свою собственную функцию. В этой функции вы можете теперь управлять выходом.

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

Ответ 5

Это то, что я написал для решения одной и той же проблемы. По сравнению с предыдущими ответами, это позволяет правильно обрабатывать несколько аргументов 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) {};
    };
})();