[controlErrorLog] Контроль журнала ошибок
Вот решил поделиться с обществом своим решением для быстрого просмотра журнала ошибок. Полезно при разработке. Но бывает, что и на рабочем сайте решишь вдруг посмотреть этот журнал, а там столько всего понаписано. Вот чтобы ошибки втяхаря не писались и пригодится данное решение.

Как видно из картинки, справа, рядом с именем администратора, появилась иконка. Если журнал содержит ошибки, то отображается восклицательный знак в желтом треугольнике. Если ошибок нет, то отображается галочка в белом кружке.
Чтобы открыть журнал ошибок, кликаем на иконке.
Если журнал слишком большой, то выводится только последние 15 строчек и предлагается скачать его полную версию. Количество последний строчек меняется в настройках.

За все за это отвечает плагин, срабатывающий по событию OnManagerPageBeforeRender.
Индикатор ошибок видят только администраторы с «sudo» и пользователи с правами «error_log_view». Это для того, чтобы обычные редакторы не пужались. Добавлю еще, что для очистки журнала обычным пользователям нужны права «error_log_erase».
По просьбе товарищей сделал в виде компонента для загрузки через менеджер пакетов. Кто не хочет устанавливать пакет, может взять код плагина на Github, но там чуть меньше возможностей.
В версии 1.0.3 появились системные настройки:
Проект на Github.

Как видно из картинки, справа, рядом с именем администратора, появилась иконка. Если журнал содержит ошибки, то отображается восклицательный знак в желтом треугольнике. Если ошибок нет, то отображается галочка в белом кружке.
Чтобы открыть журнал ошибок, кликаем на иконке.
Если журнал слишком большой, то выводится только последние 15 строчек и предлагается скачать его полную версию. Количество последний строчек меняется в настройках.

За все за это отвечает плагин, срабатывающий по событию OnManagerPageBeforeRender.
Индикатор ошибок видят только администраторы с «sudo» и пользователи с правами «error_log_view». Это для того, чтобы обычные редакторы не пужались. Добавлю еще, что для очистки журнала обычным пользователям нужны права «error_log_erase».
По просьбе товарищей сделал в виде компонента для загрузки через менеджер пакетов. Кто не хочет устанавливать пакет, может взять код плагина на Github, но там чуть меньше возможностей.
В версии 1.0.3 появились системные настройки:
- last_lines — Определяет количество последний строчек журнала, если он слишком большой для показа. По-умолчанию, 15.
- auto_refresh — Включает автообновление состояния журнала. Пригодится в случае, если долго не меняется страница в админке, а в журнале появляются ошибки с фронт-энда. Т.е. администратору не нужно открывать журнал, чтобы проверить, есть ли там ошибки.
- refresh_freq — Частота обновления журнала, если включена опция auto_refresh.
Проект на Github.
Комментарии: 39
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Поэтому код лучше брать с гитхаба. Отсюда убрал.
П.С. Тут делов-то, скопировал и все.
Скопировать просто, но еще проще установить из MODSTORE.
Кстати, а вдруг ты потом придумаешь какие-то кардинальные улучшения? Значительно упростится обновление у всех :)
Ну если так принято, то могу и собрать пакет.
Количество строк можно изменить в плагине. Для этого есть переменная $last
Все. На этом думаю хватит.
Осталась еще одна вещь из моей базы разработки, которую я могу предложить обществу — backup таблиц MySql из админки — выбрал таблицы, нажал Export и получил файл с кодом как в phpMyAdmin. Нужно только причесать и сделать в виде пакета. Хотя может я изобрел велосипед, кто знает?
Я бы тоже поприветствовал такое дополнение!
Вариант судо предложил как экстремальное решение.
это он каким то образом ругается на страницы удаленного вируса со старого сайта.
+ ругается на страницы старого сайта, тогда как сайт, на котором установлен компонент — новый.
те сейчас нужно вычищать все старое из поисковиков? редирект делать не хочу, многое просто уже не нужно
П.С. Ошибка возникает на PHP ниже 5.5.
Я все свои дополнения заставляю работать на 5.3.
Недавно внес изменения в формирование url — теперь без слешей для ресурсов «контейнер», после этого перестала работать кнопка «очистить» в модальном окне controlErrorLog.
При клике на «очистить» в консоли ошибок в браузере следующее
домен.зона/lsjhk35KYyxZ/ 301 редирект
домен.зона/lsjhk35KYyxZ (failed)
Где то слэш прописан жестко, а где не найду ни как.
Володь, придётся открыть гараж, чтобы посмотреть, пощупать, понюхать. Так сразу сказать не готов. Запрос на очистку идёт на коннектор MODX
В админке открой консоль и набери MODx.config.connectors_url. Есть слэш в конце?
добавил папку коннекторов в правила вебсервера, куда ранее были внесены директории где slash убирать не нужно.
Работает. Спасибо!
Но как только мы возвращаемся на любое русское дополнение в админке, то язык controlErrorLog становится обратно русским.
То же касается и самопальных дополнений без лексиконов — на их страницах controlErrorLog английский.
controlErrorLog не берёт значение из системной настройки manager_language?
controlErrorLog пользуется специальной функцией MODX для лексиконов.
Извини что отвлёк по пустяку.