jserrlog: JS Errors Logger
phpBB 3.1 extension
copyright (c) 2015 c61@yandex.ru http://c61.su
license http://opensource.org/licenses/gpl-license.php GNU Public License
jserrlog: Логгер ошибок JS
ВНИМАНИЕ !!! Это расширение не предназначено для тех, кто бездумно ставит на свои конференции всё подряд, не понимая, что именно делает расширение и как им пользоваться. Таким админам предлагается проходить мимо ))
При разработке и отладке расширений часто возникает необходимость поиска ошибок JavaScript и контроля наличия ошибок выполнения скриптов под различными браузерами. Обычно используются разнообразные отладчики либо логгеры (коих превеликое множество, как платных, так и совершенно бесплатных). Однако, предпочтительным с точки зрения некоторых разработчиков или администраторов является ведение логов ошибок на собственном сервере как по причинам, связанным с безопасностью, так и с доступностью серверов, ведущих логи, и т.д. и т.п...
Данное расширение позволяет обнаруживать ошибки js и выдавать сообщения о них в лог ошибок phpBB и может быть использовано администраторами конференций phpBB в случаях, когда какое-то расширение в определённых ситуациях оказывается неработоспособным или проявляются эффекты конфликта различных расширений, связанные с ошибками js. Например, antibot100500 окажется неработоспособным в случае, если какое-то иное расширение вызывает ошибку js на странице. Выявить такую ситуацию возможно при помощи jserrlog.
Установка
1) Убедиться, что правильно настроен сервер, в частности, для apache необходима правильная настройка .htaccess:
- в конфигурации для пути к конференции должна действовать директива AllowOverride All;
- в конфигурации должно присутствовать указание на использование файла .htaccess - AccessFileName .htaccess;
- должен быть разрешён модуль mod_rewrite.
Для иного серверного ПО также необходима правильная настройка перенаправлений (для данного расширения - jserrlog на app.php), разумеется, если таковое возможно...
2) Если перенаправления не работают, можно воспользоваться опцией настроек расширения "Использовать перенаправления - Нет" (начиная с версии 0.0.2), в этом случае для логирования используется index.php?js=errlog. Однако, в этом случае не исключен конфликт с другими расширениями и нагрузка на сервер будет несущественно выше.
3) В robots.txt при использовании перенаправлений добавить исключения (Disallow) для страниц jserrlog и jserrlog_test или в случае, если не используются перенаправления, index.php?js=errlog
4) Копировать содержимое каталога root в корневую папку конференции с сохранением структуры каталогов (расширения phpBB 3.1 располагаются в /ext).
Поддерживаемые браузеры
- IE 6.0+, IE10+ поддерживает номер позиции в сообщении об ошибке
- Firefox 3.6.22+
- Chrome 10+ (включая ChromeOS и Android), Chrome 30+ поддерживает номер позиции в сообщении об ошибке
- Safari 5.1+
- Opera v11.60 (Opera.Next v12+) Presto/2.10.229 и выше
Особенности
При отсутствии перенаправлений я использую "echo" для генерации кода, что противоречит требованиям к расширениям phpBB и "невалидно" начиная с 3.1, однако, "правильный" метод требует трудозатрат, и заниматься такой ерундой у меня просто нет времени. Поэтому желающие могут самостоятельно переписать код и обеспечить "валидность", если им очень этого хочется. В мои же намерения не входит прохождение валидации.
Вопросы-ответы на тему "почему сделано именно так, а не иначе ?"
- В качестве прототипа использован труд Offbeatmammal'а http://jserrlog.appspot.com/ по той причине, что он мне понравился и багов в коде js не так уж много.
- Скрипт "клеится" к переменной шаблона "META" потому, что она используется первой в overall_header.html и это гарантирует исполнение скрипта логгера перед какими-либо другими.
- "Приклейка" скрипта ведётся в обработчике события ядра после футера (минимальный приоритет) по той причине, что "META" мог модифицировать иной обработчик событий ядра.
- Логирование ведётся в обработчике событий ядра по той причине, что в controller'е я счёл это менее удобным.
Тема на моей тестовой площадке: тынц.
[BETA] jserrlog: Логгер ошибок JS
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
[BETA] jserrlog: Логгер ошибок JS
Последний раз редактировалось c61 15.11.2015 11:21, всего редактировалось 3 раза.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: [BETA] jserrlog: Логгер ошибок JS
Здесь на вас и намека нет, ваши паттерны общения с другими пользователями - это ваше дело. Тем не менее, извинения приняты, поэтому ЖК на 3 дня.