TotalLog - журнал всех запросов MODX: кто, что, откуда, чем закончилось и сколько стоило.
Журнал всех запросов, которые обрабатывает MODX: кто, что, откуда, чем закончилось, сколько выполнялось и во сколько запросов к базе обошлось. Плагин работает на OnMODXInit, поэтому в журнал попадают и запросы к API, и обработчики компонентов, и старый код мимо API, и запуски из консоли.
Внимание. Компоненту нужен gtsAPI — на нём держатся REST-слой и таблицы интерфейса. Он ставится автоматически как зависимость, отдельно скачивать не нужно.
Проверено установкой на чистые сайты: MODX 2.8.9 + PHP 7.4 + MySQL 5.7, MODX 3.2.3 + PHP 8.3 + MySQL 5.7, MODX 3.2.3 + PHP 8.3 + MySQL 8.2.
Зачем
1. Кто что изменил. Запись остаётся, даже если действие прошло мимо API — старым кодом или из консоли.
2. Какую нагрузку и откуда создают запросы: время выполнения, число SQL-запросов и время в базе, страница-источник.
Быстрый старт
После установки зайти в админке в Компоненты->Журнал запросов. Журнал начинает писать сразу, настраивать ничего не нужно.

Полный журнал можно вывести и на страницу сайта:

Свои описания вместо «POST /api/…»
Расшифровку делает сниппет-анализатор: он вызывается в момент записи и превращает запрос в осмысленное описание. Под свои задачи склонируйте сниппет TotalLogAnalyzer, опишите в нём свои действия, укажите имя копии в настройке totallog_analyzer_snippet — и заведите нужные доп. поля в gtsAPI, тогда журнал покажет ваши сущности отдельными колонками.
Что попадает в запись
Пользователь и IP, URL, метод, действие, компонент и таблица, страница-источник ссылкой, REQUEST и тело запроса (пароли и токены маскируются, крупные тела обрезаются), исход с причиной отказа, длительность, число SQL и время в базе, id соединения MySQL с окном времени — для разбора по бинлогу, если он включён.
Чтобы не заваливало
Шум выключается по частям, каждое своим рубильником со списком масок:
Гитхаб gtsAPI touol/gtsAPI
modstore
0
Внимание. Компоненту нужен gtsAPI — на нём держатся REST-слой и таблицы интерфейса. Он ставится автоматически как зависимость, отдельно скачивать не нужно.
Проверено установкой на чистые сайты: MODX 2.8.9 + PHP 7.4 + MySQL 5.7, MODX 3.2.3 + PHP 8.3 + MySQL 5.7, MODX 3.2.3 + PHP 8.3 + MySQL 8.2.
Зачем
1. Кто что изменил. Запись остаётся, даже если действие прошло мимо API — старым кодом или из консоли.
2. Какую нагрузку и откуда создают запросы: время выполнения, число SQL-запросов и время в базе, страница-источник.
Быстрый старт
После установки зайти в админке в Компоненты->Журнал запросов. Журнал начинает писать сразу, настраивать ничего не нужно.

Полный журнал можно вывести и на страницу сайта:
[[!mixVue? &app=`totallog` &config=`{"module":"TLAll"}`]]Второй интерфейс — для пользователей: начальник отдела смотрит, что делали на его участке, не дёргая администратора. Он видит не «POST /api/…», а человеческий текст. Задаются заголовок и компоненты, записи которых показывать:[[!mixVue? &app=`totallog` &config=`{"module":"TLUser","component":"gcNaryadLink,newsmena","title":"Кто менял наряды"}`]]
Свои описания вместо «POST /api/…»
Расшифровку делает сниппет-анализатор: он вызывается в момент записи и превращает запрос в осмысленное описание. Под свои задачи склонируйте сниппет TotalLogAnalyzer, опишите в нём свои действия, укажите имя копии в настройке totallog_analyzer_snippet — и заведите нужные доп. поля в gtsAPI, тогда журнал покажет ваши сущности отдельными колонками.
Что попадает в запись
Пользователь и IP, URL, метод, действие, компонент и таблица, страница-источник ссылкой, REQUEST и тело запроса (пароли и токены маскируются, крупные тела обрезаются), исход с причиной отказа, длительность, число SQL и время в базе, id соединения MySQL с окном времени — для разбора по бинлогу, если он включён.
Чтобы не заваливало
Шум выключается по частям, каждое своим рубильником со списком масок:
totallog_log_get писать ли GET (по умолчанию нет)
totallog_log_service служебные действия: просмотры, автодополнения
totallog_log_modx процессоры менеджера MODX
totallog_skip_urls маски адресов, которые не логировать
totallog_days срок хранения в днях, чистка идёт самаГитхаб tuniekov/TotalLogГитхаб gtsAPI touol/gtsAPI
modstore
Комментарии: 0