Вы используете объект, содержащий ссылку нулевого значения. Таким образом, он дает пустое исключение. В примере строковое значение равно null, и при проверке его длины произошло исключение.
Пример:
string value = null;
if (value.Length == 0) // <-- Causes exception
{
Console.WriteLine(value); // <-- Never reached
}
Ошибка исключения:
Необработанное исключение:
System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. в Program.Main ()
blockquote>
Мне нужно было сделать то же самое, и это решение я нашел:
--enable-logging --v=1
Эти журналы все, что делает Chrome внутри, но также записывает все сообщения console.log()
. Файл журнала называется chrome_debug.log
и находится в User Data Directory
. CONSOLE(\d+)
. Обратите внимание, что журналы консоли не отображаются с --incognito
.
Я нашел для этого отличный и простой способ.
Много хороших ответов, но почему бы просто не использовать JSON.stringify (your_variable)? Затем возьмите содержимое с помощью копирования и вставки (удалите внешние кавычки). Я отправил этот же ответ также по адресу: Как сохранить вывод файла console.log (object) в файл?
Существует еще один инструмент с открытым исходным кодом, который позволяет вам сохранять все console.log
вывода в файле на вашем сервере - JS LogFlush (plug!).
JS LogFlush - это интегрированное решение для ведения журнала JavaScript, которое включает в себя:
blockquote>
- кросс-браузерную замену консоли console.log на стороне клиента.
- система хранения журналов - на стороне сервера.
Существует плагин javascript с открытым исходным кодом, который делает именно это, но для любого браузера - debugout.js
Debugout.js записывает и сохраняет console.logs, поэтому ваше приложение могут получить к ним доступ. Полное раскрытие, я написал это. Он соответствующим образом форматирует различные типы, может обрабатывать вложенные объекты и массивы и может по желанию поставить временную метку рядом с каждым журналом. Вы также можете переключаться в режиме реального времени в одном месте и не должны удалять все ваши протоколирующие операторы.
Это может быть или не быть полезным, но в Windows вы можете прочитать консольный журнал с помощью трассировки событий для Windows
http://msdn.microsoft.com/en-us/library/ ms751538.aspx
Наши интеграционные тесты выполняются в .NET, поэтому я использую этот метод для добавления журнала консоли в наш тестовый выход. Я продемонстрировал пример проекта консоли: https://github.com/jkells/chrome-trace
- включение-регистрация --v = 1 doesn Кажется, что работает над последней версией Chrome.
Если вы используете сервер 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);
Для лучшего файла журнала (без взлома Chrome отладки) используйте:
--enable-logging --log-level=0
вместо --v=1
, который является слишком большим количеством информации.
Он по-прежнему будет предоставлять ошибки и предупреждения, которые вы обычно видите на консоли Chrome.