|
Поделиться

[BETA] jserrlog - Логгер ошибок JS

Начиная с версии 3.1.x, моды были заменены "расширениями", которые выполняют ту же самую функцию, но без изменений в исходном коде движка.

Сообщение c61 » 26.10.15 08:56

jserrlog: JS Errors Logger
phpBB 3.1 extension

copyright (c) 2015 c61@yandex.ru http://c61.no-ip.org
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, однако, "правильный" метод требует трудозатрат, и заниматься такой ерундой у меня просто нет времени. Поэтому желающие могут самостоятельно переписать код и обеспечить "валидность", если им очень этого хочется. В мои же намерения не входит прохождение валидации.


История версий

0.0.2 - 20151027:
- исправлена фактическая ошибка в описании одной из опций настроек админраздела
- добавлена возможность работы расширения без перенаправлений на страницу jserrlog - в этом случае используется index.php

0.0.1 - 20151026:
- первая версия


Вопросы-ответы на тему "почему сделано именно так, а не иначе ?"

- В качестве прототипа использован труд Offbeatmammal'а http://jserrlog.appspot.com/ по той причине, что он мне понравился и багов в коде js не так уж много.
- Скрипт "клеится" к переменной шаблона "META" потому, что она используется первой в overall_header.html и это гарантирует исполнение скрипта логгера перед какими-либо другими.
- "Приклейка" скрипта ведётся в обработчике события ядра после футера (минимальный приоритет) по той причине, что "META" мог модифицировать иной обработчик событий ядра.
- Логирование ведётся в обработчике событий ядра по той причине, что в controller'е я счёл это менее удобным.


Скачать:
jserrlog_v_0_0_2.zip
(33.35 КБ) Скачиваний: 218
jserrlog_v_0_0_1.zip
(31.94 КБ) Скачиваний: 216



Тема на моей тестовой площадке: тынц.
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Shredder » 26.10.15 10:41

Обычно использую консоль Firefox для таких целей. Даже не знал, что ошибки JS можно писать на сервер.
Интересная идея. Для тех, кому нужно содержать форум в "безошибочном" и кроссбраузерном варианте.
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 882
Зарегистрирован: 22.08.13 09:05

Сообщение c61 » 26.10.15 10:56

Довольно легко сотворить аналог для phpBB 3.0... Надо ?

P.S. Поставил расширение на кое-какие форумы пару часов назад и уже нашёл несколько багов в чужих скриптах :lol:

Добавлено спустя 11 часов 47 минут 54 секунды:
У меня сложилось впечатление, что на гуру скоро станут банить за сообщения об ошибках в расширениях участников "поддержки" :lol: Нашёл бяку в БО при помощи этого логгера, отрапортовал, получил порцию хамства... БО так никогда не доведут до ума... Shredder, ты прав насчёт того, что надо завязывать с phpbb... Наступило время ламеров, они везде, "имя им - легион", так пусть друг друга и едят...
Аватара пользователя
c61
Разработчик модов
 
Сообщения: 249
Зарегистрирован: 24.08.13 16:46

Сообщение Xisp » 27.10.15 17:11

c61 писал(а):У меня сложилось впечатление, что на гуру скоро станут банить за сообщения об ошибках в расширениях участников "поддержки" :lol:

Что вы, как можно власть критиковать? :lol:
c61 писал(а):Shredder, ты прав насчёт того, что надо завязывать с phpbb...

Скорее с гуру. В полный игнор их, пускай варятся в собственном соку. И потребовать удалить все выложенные там моды, расширения и правки.
Xisp
 
Сообщения: 196
Зарегистрирован: 05.04.14 18:00

Сообщение Shredder » 31.10.15 06:36

c61 писал(а):Shredder, ты прав насчёт того, что надо завязывать с phpbb...

У самого всё меньше и меньше к нему интереса. Связан только своими маленькими проектами пока. А так и кроме phpbb увлекательных занятий полно. :D
Выполняю работы по phpBB3 на заказ. Пишите в личку или на почту.
Бесплатная поддержка - только в темах.
Shredder
Администратор
 
Сообщения: 882
Зарегистрирован: 22.08.13 09:05


Вернуться в Скрипты и расширения для phpBB

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1