Сохраните файл 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(объекта) в файл?