Сохраните файл console.log в Chrome в файл

Кто-нибудь знает, как сохранить вывод console.log в Chrome в файл? Или как скопировать текст из консоли?

Скажите, что вы выполняете несколько часов функциональных тестов, и у вас есть тысячи строк вывода console.log в Chrome. Как его сохранить или экспортировать?

Ответ 1

Мне нужно было сделать то же самое, и это решение я нашел:

  • Включите logging из командной строки с использованием флагов:

    --enable-logging --v=1

    Это регистрирует все, что делает Chrome внутри, но также регистрирует все сообщения console.log(). Файл журнала называется chrome_debug.log и расположен в User Data Directory.

  • Отфильтруйте файл журнала, который вы получаете для строк, с помощью CONSOLE(\d+).

Обратите внимание, что журналы консоли не отображаются с помощью --incognito.

Ответ 2

Хорошие новости

Теперь инструменты Chrome dev позволяют сохранять вывод консоли в файл изначально

  • Откройте консоль
  • Щелкните правой кнопкой мыши
  • Выберите "сохранить как.."

save console to file

Инструкции разработчика Chrome здесь.

Ответ 3

Существует плагин javascript с открытым исходным кодом, который делает именно это, но для любого браузера - debugout.js

Debugout.js записывает и сохраняет console.logs, поэтому ваше приложение может получить к ним доступ. Полное раскрытие, я написал это. Он соответствующим образом форматирует различные типы, может обрабатывать вложенные объекты и массивы и может по желанию поставить временную метку рядом с каждым журналом. Вы также можете переключаться в режиме реального времени в одном месте и не должны удалять все ваши протоколирующие заявления.

Ответ 4

Это может быть или не быть полезным, но в Windows вы можете прочитать журнал консоли с помощью трассировки событий для Windows

http://msdn.microsoft.com/en-us/library/ms751538.aspx

Наши интеграционные тесты выполняются в .NET, поэтому я использую этот метод для добавления журнала консоли в наш тестовый результат. Я продемонстрировал пример проекта консоли: https://github.com/jkells/chrome-trace

- enable-logging --v = 1, похоже, не работает в последней версии Chrome.

Ответ 5

Для лучшего файла журнала (без взлома Chrome отладки) используйте:

--enable-logging --log-level=0

вместо --v=1, который является слишком большим количеством информации.

Он по-прежнему будет предоставлять ошибки и предупреждения, как обычно, на консоли Chrome.

Ответ 6

Существует еще один инструмент с открытым исходным кодом, который позволяет сохранять все console.log выходные данные в файле на вашем сервере - JS LogFlush (plug!).

JS LogFlush - это интегрированное решение для ведения журнала JavaScript, которое включает в себя:

  • кросс-браузерная замена консоли console.log на стороне клиента.
  • система хранения журналов - на стороне сервера.

Демо

Ответ 7

Если вы используете сервер Apache на локальном хосте (не делайте этого на производственном сервере), вы также можете опубликовать результаты в script вместо того, чтобы записывать его на консоль.

Итак, вместо console.log вы можете написать:

JSONP('http://localhost/save.php', {fn: 'filename.txt', data: json});

Тогда save.php может сделать это

<?php

 $fn = $_REQUEST['fn'];
 $data = $_REQUEST['data'];

 file_put_contents("path/$fn", $data);

Ответ 8

Много хороших ответов, но почему бы просто не использовать JSON.stringify(your_variable)? Затем возьмите содержимое с помощью копирования и вставки (удалите внешние кавычки). Я отправил этот же ответ также по адресу: Как сохранить вывод файла console.log(объекта) в файл?