controlErrorLog - контроль журнала ошибок
Решение для контроля за журналом ошибок. Включает в себя иконку в панели меню и уведомление по электронной почте.
Как видно из картинки, справа, рядом с именем администратора, появилась иконка. Если журнал содержит ошибки, то отображается восклицательный знак в желтом треугольнике. Если ошибок нет, то отображается галочка в белом кружке.
Чтобы открыть журнал ошибок, кликаем на иконке. Если журнал слишком большой, то выводится только указанное в настройках последнее количество строк.
В данном интерфейсе можно делать копии журнала и скачивать их. Также копии можно удалять нажав соответствующую кнопку в окне управления журналом ошибок. Эту возможность можно отключить в системных настройках. В этом случае копии можно только очистить. Сам журнал ошибок можно только очистить.
Индикатор ошибок видят только администраторы с "sudo" и пользователи с правами "error_log_view". Это для того, чтобы обычные редакторы не пужались. Добавлю еще, что для очистки журнала обычным пользователям нужны права "error_log_erase".
Если включен мониторинг журнала на сайте и указан email, то каждый раз, когда пользователь загружает страницу сайта, controlErrorLog проверяет журнал ошибок на предмет появления изменений. Если они были, то на указанный email высылается сообщение об ошибке. Сообщается не о самих ошибках, а о факте появления ошибок, т.е. проверяется изменение размера файла журнала.
Асинхронная проверка изменений
На продакшн сайте предпочтительней использовать cron скрипт core/components/controlerrorlog/cron/checkerrorlog.php. Этот вариант позволит избежать тяжелой операции отправки уведомления при проверке изменений лога. Таким образом, пользователь не будет ощущать никаких задержек.
Копирование журнала ошибок
Иногда возникает потребность сохранить ошибки из журнала для последующего анализа. Для этого предусмотрена кнопка Сделать копию, которая создаёт копию журнала с именем error_{timestamp}.log
, где timestamp - это дата и время создания файла. Найти копию можно рядом с основным журналом в папке core/cache/logs/
. Копировать можно только оригинальный журнал ошибок. В режиме просмотра копий журнала кнопка копирования будет недоступна.
Системные параметры
Ключ | По-умолчанию | Описание |
---|---|---|
controlerrorlog.allow_copy_deletion | true | Переключает режим удаления (true) или очищения (false) копии журнала. |
controlerrorlog.control_frontend | true | Включает уведомление на электронную почту об ошибках. |
controlerrorlog.admin_email | Электронная почта пользователя для уведомления об ошибках. | |
controlerrorlog.last_lines | 15 | Количество последних строчек журнала, если он слишком большой. По-умолчанию, 15. |
controlerrorlog.auto_refresh | true | Включает автоматическую проверку состояния журнала ошибок с указанной частотой. |
controlerrorlog.refresh_freq | 60 | Частота обновления журнала, если включена опция auto_refresh. |