Комментарии 42
а вот как бы развить данное расширение, чтоб его могли не только PHP-шники использовать? цены бы ему не было!
а почему через куки вместо заголовков?
у браузеров насколько я помню их ограниченное количество на сайт
у браузеров насколько я помню их ограниченное количество на сайт
Если реализовывать через заголовки, то не будут отлавливаться сообщения от AJAX и IFrames запросов т.к. для Chrome-расширений пока ещё не реализован класс функций webRequest. Как webRequest реализуют — сразу перепишу, чтобы через кастомные заголовки работало. Обещали в 9-ой ветке добавить, ждёмс…
Насчёт того, что куки ограничены по размеру, я знаю, но расширение написано так, чтобы моментально чистить обработанные куки с сообщениями.
Насчёт того, что куки ограничены по размеру, я знаю, но расширение написано так, чтобы моментально чистить обработанные куки с сообщениями.
Всё на куках, значит… А эти куки гарантированно удаляются? Т.е. не получится ли ситуации, когда этих кук в хроме будет храниться мильон?
Отлично!
Только вот всегда интересовало, а многие пользуются хромовским отладчиком?
Просто я сколько не пытался — не получается его использовать так же хорошо, как и FireBug
Поэтому приходится постоянно держать ФФ открытым для отладки.
Может тот, кто научился хорошо использовать отладчик хрома, напишет мини обзор, который позволит таким, как я перейти окончательно на хром. Спасибо!
Только вот всегда интересовало, а многие пользуются хромовским отладчиком?
Просто я сколько не пытался — не получается его использовать так же хорошо, как и FireBug
Поэтому приходится постоянно держать ФФ открытым для отладки.
Может тот, кто научился хорошо использовать отладчик хрома, напишет мини обзор, который позволит таким, как я перейти окончательно на хром. Спасибо!
Я пользуюсь вполне успешно, дело привычки — теперь мне файрбаг неудобным кажется
Я раньше тоже тормозился переходить с FF на Chrome из-за того, что под него нет FireBug, но в последних версиях Chrome родные Web Developer Tools стали вполне себе полноценным инструментом. Теперь только им и пользуюсь. Насчёт как там и что см. вот и <a href=«www.chromium.org/devtools/google-chrome-developer-tools-tutorial>вот.
Исключительно дело привычки. Сам юзал ФайрБаг. Но из-за тормознутого компа на работе (что-то с железом)
начинал по мелочам (поправить высоту блоку и подобной белиберде). Со временем начал забывать про лисичку, и открываю ее исключительно для отладки верстки и js.
В 6+ версии хромовский тулс стал лучше Бага.
начинал по мелочам (поправить высоту блоку и подобной белиберде). Со временем начал забывать про лисичку, и открываю ее исключительно для отладки верстки и js.
В 6+ версии хромовский тулс стал лучше Бага.
Такое же под Firefox бы
Спасибо вам за расширение, буду пользоваться
о, продолжаешь дело лаггера?)
Ну на вопрос «как подружить» вы ведь не ответили =)
См. в описании расширения простой пример есть:
<blockquote>// Autoload Lagger classes and initialize basics define('LAGGER_BASE_DIR', '../library/'); function autoloadLaggerClasses($class) { if(strpos($class, 'Lagger_') === 0) { require_once (LAGGER_BASE_DIR . str_replace('_', '/', $class) . '.php'); } } spl_autoload_register('autoloadLaggerClasses'); $laggerES = new Lagger_Eventspace(); $debug = new Lagger_Handler_Debug($laggerES); $errors = new Lagger_Handler_Errors($laggerES); $exceptions = new Lagger_Handler_Exceptions($laggerES); // display all debug messages in console $debug->addAction(new Lagger_Action_ChromeConsole('debug'), null); //display all errors in console and as notifications with 1 lifetime $errorsChromeConsole = new Lagger_Action_ChromeConsole('error', 1); $errors->addAction($errorsChromeConsole, null); $exceptions->addAction($errorsChromeConsole, null); // test $debug->handle('debug message', 'some,test,tags'); echo $unkownVar; unkownFunction();</blockquote>
Ох е… Чем же вас XDebug не «удовлетворяет»? В смысле какие проблемы, которые не решаются с помощью отладчика/профилировщика/трейсера XDebug, призвано решить данное приложение?
1. У XDebug есть плагины для логирования ошибок в различного рода IDE, но нормальных расширений для браузеров нет и быть не может в связи со сложностью его протокола, а т.к. насколько мне извество большинство веб-разработчиков не особо увлекаются использованием встроенных в IDE браузеров, то на практике использование XDebug для логирования ошибок становится не таким уж приятным занятием.
2. Т.к. в XDebug отсутствует различного рода логирование в файл или Email, то вам так или иначе придётся использовать некую дополнительную библиотеку, которая будет отвечать за своевременное уведомление вам о том, что на production-сервере что-то случилось.
3. XDebug это всё-таки стороннее расширение для PHP, которое не всегда есть возможность установить и тем более настроить.
2. Т.к. в XDebug отсутствует различного рода логирование в файл или Email, то вам так или иначе придётся использовать некую дополнительную библиотеку, которая будет отвечать за своевременное уведомление вам о том, что на production-сервере что-то случилось.
3. XDebug это всё-таки стороннее расширение для PHP, которое не всегда есть возможность установить и тем более настроить.
1. У XDebug есть плагины для логирования ошибок в различного рода IDE, но нормальных расширений для браузеров нет и быть не может в связи со сложностью его протокола, а т.к. насколько мне извество большинство веб-разработчиков не особо увлекаются использованием встроенных в IDE браузеров, то на практике использование XDebug для логирования ошибок становится не таким уж приятным занятием.
2. Т.к. в XDebug отсутствует различного рода логирование в файл или Email, то вам так или иначе придётся использовать некую дополнительную библиотеку, которая будет отвечать за своевременное уведомление вам о том, что на production-сервере что-то случилось.
3. XDebug это всё-таки стороннее расширение для PHP, которое не всегда есть возможность установить и тем более настроить.
2. Т.к. в XDebug отсутствует различного рода логирование в файл или Email, то вам так или иначе придётся использовать некую дополнительную библиотеку, которая будет отвечать за своевременное уведомление вам о том, что на production-сервере что-то случилось.
3. XDebug это всё-таки стороннее расширение для PHP, которое не всегда есть возможность установить и тем более настроить.
Bad Request
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
пешально, я его поломал… слишком много E_NOTICE =)
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
пешально, я его поломал… слишком много E_NOTICE =)
Первое, что могу посоветова — используйте Lagger_Skipper для игнорирования обработаки повторяющихся ошибок.
Второй совет — ждите патча, в течении дня выложу.
Второй совет — ждите патча, в течении дня выложу.
Как обещал — сделал патч. Нужно обновить Lagger и PHP Console.
Если прежде допустимым колличеством сообщений было порядка 70, то теперь около 900-1000, и в случае превышения лимита браузер не падает, а выдаёт попап-уведомление с соответствующим сообщением. Это реализовано таким образом, что сообщения группируются по кукам с ограничением 4к на каждую куку. Раньше под каждое сообщение отводилась отдельная кука.
Надеюсь вам хватит лимита в 1000 сообщений :)
Если прежде допустимым колличеством сообщений было порядка 70, то теперь около 900-1000, и в случае превышения лимита браузер не падает, а выдаёт попап-уведомление с соответствующим сообщением. Это реализовано таким образом, что сообщения группируются по кукам с ограничением 4к на каждую куку. Раньше под каждое сообщение отводилась отдельная кука.
Надеюсь вам хватит лимита в 1000 сообщений :)
У Котерова есть модуль, который отлавливает ошибки, включая фатальные, и тоже умеет отправлять на мыло: dklab.ru/lib/Debug_ErrorHook/
Не знаю, кто из вас сделал своё раньше, подумалось, что возможна была бы и кооперация.
Не знаю, кто из вас сделал своё раньше, подумалось, что возможна была бы и кооперация.
Да не было никакой кооперации :)
Первая версия Lagger-а появилась в далёком 2005 году, тогда ещё была написана на PHP4 и представляла из себя один единственный класс для обработки ошибок и логирования в файл и отправки на Email, потом класс был переписан под PHP5, потом расширен на полноценную библиотеку, которая была представлена на конференции Highload++ в Москве, в 2008, после чего было ещё пару глобальных рефакторинга.
А про Debug_ErrorHook я даже не слышал ниразу. Сейчас посмотрел его исходники, так Lagger с ним как в функциональном так и в архитектурном плане даже близко ничего не имеет.
Первая версия Lagger-а появилась в далёком 2005 году, тогда ещё была написана на PHP4 и представляла из себя один единственный класс для обработки ошибок и логирования в файл и отправки на Email, потом класс был переписан под PHP5, потом расширен на полноценную библиотеку, которая была представлена на конференции Highload++ в Москве, в 2008, после чего было ещё пару глобальных рефакторинга.
А про Debug_ErrorHook я даже не слышал ниразу. Сейчас посмотрел его исходники, так Lagger с ним как в функциональном так и в архитектурном плане даже близко ничего не имеет.
Не, я имел в виду, что кооперация была бы не плоха, ибо зачем делать два раза. Тем более если в одном из похожих проектов есть полезные фичи типа того же FirePHP/хромовой консоли.
Но если в 2005, но понятно, значит просто девелоперы слишком часто варятся в собственном соку :) Про «представлена на конференции» — я и не знал, что такое бывает с PHP-библиотеками.
Но если в 2005, но понятно, значит просто девелоперы слишком часто варятся в собственном соку :) Про «представлена на конференции» — я и не знал, что такое бывает с PHP-библиотеками.
Одни и те же библиотеки народ часто реализует и это хорошо на самом деле т.к. есть из чего выбирать. А насчёт конференции, так меня туда пригласили только потому что у знакомого докладчика тема сопутствующая была — Мониторинг и Логирование, в итоге я его как бы дополнял.
Думаю если разработчику Debug_ErrorHook захочется сделать вывод под PHP Console, то у него это очень просто получится т.к. там протокол взаимодействия элементарнейший. Я лично только рад буду, если мои разработки пригодятся кому-то.
Думаю если разработчику Debug_ErrorHook захочется сделать вывод под PHP Console, то у него это очень просто получится т.к. там протокол взаимодействия элементарнейший. Я лично только рад буду, если мои разработки пригодятся кому-то.
Кстати, ещё у Котерова есть занятная библиотека PHP_Exceptionizer, которая любые ошибки, в т.ч. Notice (как настроено), преобразует в Exception'ы. dklab.ru/lib/PHP_Exceptionizer/ — может, пригодится. Я обычно использую её при разработке, а на почту получаю ошибки с рабочего сервера.
В Lagger-е для этой цели есть простенький класс Lagger_Action_Exception :)
Тот же Firebug.
Уже и в ёпере есть своя консоль.
Ждём такую же для ишака…
Уже и в ёпере есть своя консоль.
Ждём такую же для ишака…
Чем оно лучше того же FirePHP:
Нормально обрабатывает фатальные ошибки
Отлавливает сообщения в AJAX-скриптах и IFrame-ах
Имеет очень удобную функцию отображения сообщений во всплывающих уведомлениях
Отображает backtrace вызова
Отлавливает JavaScript ошибки
Поддерживает более функциональную и гибко конфигурироуемую библиотеку Lagger
гы..)
Очень хочу попробовать это расширение. Дайте, пожалуйста, ссылку на инструкцию по установке. Как связать php console и lagger?
Если вас интересует именно старая версия, то вот тут описано как её установить groups.google.com/forum/?hl=ru#!forum/php-console-deprecated-version
Новая версия chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef
Новая версия chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef
Я впервые узнал о lagger из этой статьи и с трудом представляю что это такое и нужно ли мне это. Насколько я понял, чтобы всё начало работать нужно сделать следующее:
1. Install new version of PHP Console Google Chrome extension (https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef)
2. Install new server library from github.com/barbushin/php-console. For example, using
3. Add to project's code:
И это всё? Или я что-то упустил?
1. Install new version of PHP Console Google Chrome extension (https://chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemef)
2. Install new server library from github.com/barbushin/php-console. For example, using
git clone https://github.com/barbushin/php-console.git php-console
3. Add to project's code:
$connector = PhpConsole\Connector::getInstance(); $connector->setPassword('yohoho123', true); //... PhpConsole\Handler::getInstance()->debug($var, 'some.tags');
И это всё? Или я что-то упустил?
Недавно появился модуль для Drupal, который добавляет эту библиотеку: drupal.org/project/pc
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Как подружить PHP с консолью Google Chrome