НАЗНАЧЕНИЕ
Диагностический рекордер для администраторов WordPress. Позволяет начать запись проблемной сессии прямо из верхней панели администратора, воспроизвести ошибку, остановить запись и скачать пакет логов для анализа.
КАК РАБОТАЕТ
- Пользователь с правом manage_options видит в admin bar пункт «Запись логов» с иконкой PLAY.
- После запуска создаётся диагностическая сессия.
- Во время активной сессии пункт меняется на «Остановить и скачать» с иконкой STOP.
- При остановке формируется итоговый набор данных и начинается скачивание отчёта.
- Если ZipArchive доступен, отчёт может отдаваться как ZIP; предусмотрен JSON-fallback.
ЧТО ЗАПИСЫВАЕТСЯ
- клики и навигационные действия;
- отправка форм без сохранения значений полей;
- JavaScript errors;
- unhandled promise rejections;
- console.error и console.warn;
- fetch/XHR: URL, HTTP-статус и длительность без тела ответа;
- Navigation Timing;
- медленные ресурсы;
- Long Tasks, если браузер поддерживает соответствующий API;
- время выполнения WordPress/PHP-запросов;
- HTTP-статус серверного запроса;
- использование памяти;
- PHP warnings и fatal errors, замеченные в период активной записи.
ПРИВАТНОСТЬ И ФИЛЬТРАЦИЯ
- Значения полей форм не собираются.
- Ключи, похожие на password/token/secret, очищаются.
- Типовые персональные query-параметры редактируются.
- Строки, похожие на email, маскируются на серверной стороне.
- Тела fetch/XHR-ответов не записываются.
ОГРАНИЧЕНИЕ ДОСТУПА
Рекордер доступен только авторизованным пользователям с правом manage_options. Обычным посетителям frontend его административные скрипты не подключаются.
ХРАНЕНИЕ
Диагностические файлы создаются под uploads в отдельном каталоге wp-admin-log-recorder. Плагин создаёт защитный .htaccess и index.php, чтобы запретить прямой просмотр каталога. Активная сессия привязывается к пользователю через user meta _wplr_active_session.
ПОВЕДЕНИЕ НА ЧУВСТВИТЕЛЬНЫХ ЭКРАНАХ
Скрипты рекордера не подключаются на некоторых хрупких экранах установки/обновления плагинов и тем, чтобы не вмешиваться в их работу.
УДАЛЕНИЕ
uninstall.php удаляет флаги активных сессий пользователей, но намеренно не удаляет ранее скачанные/записанные диагностические файлы по умолчанию.
ТЕХНИЧЕСКИЕ ТРЕБОВАНИЯ
- WordPress 6.0+.
- PHP 7.4+.
- Иконки PLAY/STOP встроены как изолированные SVG и не требуют глобальной библиотеки Font Awesome.