Как экспортировать консоль на HTML-страницу в текстовый файл? [Дубликат]

Вы используете объект, содержащий ссылку нулевого значения. Таким образом, он дает пустое исключение. В примере строковое значение равно null, и при проверке его длины произошло исключение.

Пример:

string value = null;
if (value.Length == 0) // <-- Causes exception
{
    Console.WriteLine(value); // <-- Never reached
}

Ошибка исключения:

Необработанное исключение:

System.NullReferenceException: ссылка на объект не установлена ​​в экземпляр объекта. в Program.Main ()

138
задан eeejay 2 October 2011 в 16:02
поделиться

8 ответов

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

  1. Включить протоколирование из командной строки с использованием флагов: --enable-logging --v=1 Эти журналы все, что делает Chrome внутри, но также записывает все сообщения console.log(). Файл журнала называется chrome_debug.log и находится в User Data Directory .
  2. Отфильтруйте файл журнала, который вы получаете для строк с помощью CONSOLE(\d+).

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

81
ответ дан Jeff Yates 25 August 2018 в 15:53
поделиться

Я нашел для этого отличный и простой способ.

  1. В консоли - щелкните правой кнопкой мыши на зарегистрированном в консоли объекте
  2. Нажмите «Сохранить как глобальную переменную»
  3. См. имя новой переменной - например это переменнаяName1
  4. Введите в консоли: JSON.stringify (variableName1)
  5. Скопируйте содержимое строки переменной: например. {"a": 1, "b": 2, "c": 3}

  1. Перейти к некоторым Онлайн-редактор JSON: например https://jsoneditoronline.org/

3
ответ дан Combine 25 August 2018 в 15:53
поделиться

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

150
ответ дан Community 25 August 2018 в 15:53
поделиться

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

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

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

Демо

1
ответ дан hindmost 25 August 2018 в 15:53
поделиться

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

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

22
ответ дан inorganik 25 August 2018 в 15:53
поделиться

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

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

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

- включение-регистрация --v = 1 doesn Кажется, что работает над последней версией Chrome.

5
ответ дан Jared Kells 25 August 2018 в 15:53
поделиться

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

So вместо 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);
1
ответ дан supersan 25 August 2018 в 15:53
поделиться

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

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

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

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

5
ответ дан Unheilig 25 August 2018 в 15:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: