Как сохранить вывод файла console.log(object) в файл?
Я попытался использовать JSON.stringify(object)
, но он не опускается по всей структуре и иерархии.
С другой стороны, console.log(object)
делает это, но я не могу его сохранить.
В выводе console.log
я могу развернуть по одному все дочерние элементы и выбрать и скопировать/вставить, но структура для этого важна.
Ответы
Ответ 1
Обновление:
Теперь вы можете просто щелкнуть правой кнопкой мыши
Щелкните правой кнопкой мыши > Сохранить как на панели консоли, чтобы сохранить записанные сообщения в файл.
Оригинальный ответ:
Вы можете использовать этот фрагмент devtools, показанный ниже, для создания метода console.save. Он создает FileBlob из ввода, а затем автоматически загружает его.
(function(console){
console.save = function(data, filename){
if(!data) {
console.error('Console.save: No data')
return;
}
if(!filename) filename = 'console.json'
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
Источник: http://bgrins.github.io/devtools-snippets/#console-save
Ответ 2
Для копирования строкового представления указанного объекта в буфер обмена можно использовать "API-интерфейс разработчика Chrome" API командной строки "copy()".
Если у вас много объектов, тогда:
Фактически вы можете "JSON.stringify()" всех ваших объектов и продолжать добавлять их в строку. Теперь используйте метод copy(), чтобы скопировать всю строку в clipbard.
Ответ 3
Если вы зарегистрировали объект:
- Щелкните правой кнопкой мыши на объекте в консоли и нажмите "Сохранить как глобальную переменную"
- вывод будет чем-то вроде "temp1"
- введите в консоль копию (temp1)
- вставить в ваш любимый текстовый редактор
Ответ 4
Существует плагин javascript с открытым исходным кодом, который делает именно это - debugout.js
Debugout.js записывает и сохраняет console.logs, поэтому ваше приложение может получить к ним доступ. Полное раскрытие, я написал это. Он соответствующим образом форматирует различные типы, может обрабатывать вложенные объекты и массивы и может по желанию поставить временную метку рядом с каждым журналом. Он также переключает ведение журнала в одном месте.
Ответ 5
щелкните правой кнопкой мыши на консоли.. нажмите сохранить как.. его это просто.. вы получите выходной текстовый файл
Ответ 6
Вы можете использовать библиотеку l2i
(https://github.com/seriyvolk83/logs2indexeddb), чтобы сохранить все, что вы положили в console.log
а затем вызовите
l2i.download();
чтобы загрузить файл с журналами.
Ответ 7
Существует еще один инструмент с открытым исходным кодом, который позволяет сохранять все console.log
выходные данные в файле на вашем сервере - JS LogFlush (plug!).
JS LogFlush - это интегрированное решение для ведения журнала JavaScript, которое включает в себя:
- кросс-браузерная замена консоли console.log на стороне клиента.
- система хранения журналов - на стороне сервера.
Демо
Ответ 8
Много хороших ответов, но почему бы просто не использовать JSON.stringify(your_variable)? Затем возьмите содержимое с помощью копирования и вставки (удалите внешние кавычки).