Применение журнала отладки в WordPress

Далеко не всегда получается написать код сразу и без ошибок. Но для исправления ошибки, прежде всего, требуется её найти. Здесь мы рассмотрим процесс отслеживания ошибок с помощью отладочного журнала WordPress (debug log).

Сокрытие отладочных сообщений от посетителей является важнейшим элементом безопасности сайта. Даже в случае полной уверенности в том, что ваш сайт не генерирует ошибок, либо предупреждений вообще, посетителям может стать доступно нечто, что им знать не нужно.

Именно поэтому следует оставить включённой настройку WP_DEBUG, не показывая ошибок на страницах сайта, а производя их запись в особый файл «Журнал отладки» для дальнейшего анализа. Об этом и пойдет речь далее.

Настройка

Для разрешения генерации отладочной информации и записи в журнал без выведения на страницах сайта, потребуется определённое изменение файла wp-config.php.

Фатальные ошибки («белый экран смерти») при этом скрыть невозможно.

Просмотр журнала отладки

Файл, в котором содержится отладочная информация, называется debug.log. Он располагается в корневом каталоге вашего сайта. С помощью любого текстового редактора вы можете его читать и удалять из него информацию. Однако этот способ этот не слишком удобен, особенно при расположении журнала на сервере под нагрузкой.

Есть плагины, которые существенно упрощают работу с журналом отладки, но иногда (например, если сайт недоступен) нужно работать с файлом журнала напрямую.

Есть ряд инструментов, помогающих в работе с журналом отладки из административной панели сайта. Например, бесплатный плагин Log Viewer дает возможность читать и чистить журнал. В сочетании с плагином Debug Bar вы сможете работать с журналом в отладочной панели на любой странице сайта.

Панель отладки не стоит применять на рабочем сервере, однако польза её в процессе разработки неоценима. Установка плагинов Log Viewer и Debug Bar может производиться при помощи установщика плагинов, а также как часть комплексного плагина Developer.

Как выглядит журнал.
отладка WordPress

Любое событие, сгенерированное WP помечается временем в формате UTC.

Запись в журнал отладки произвольной информации

В определённых случаях оказывается полезным выводить дополнительную информацию в журнал, не сообщающую об ошибке, а просто помогающую в написании собственного кода. Для этого в PHP предусмотрена функция error_log().

Данная функция не предусматривает форматирования, поэтому можно создать собственную обёртку над error_log, форматирующую объекты и переменные, записываемые в журнал с помощью функции print_r(). Вот как она может выглядеть.

Не имеет смысла размещать данный код в файл functions.php вашей темы, поскольку при отладке сайта, возможно, произойдёт переключение темы на стандартную и потеря доступа к нему. Поэтому код следует оформить в виде плагина. Для этого нужно создать файл в вашем каталоге плагинов, добавить в него заголовок плагина и вышеприведённый код. Заголовок может выглядеть так:

Функция, только что созданная нами, имеет многочисленные варианты применения. Ее работу легко проверить, написав следующий код.

Добавьте комментарий