Skip to content
mxLogger
mxLogger
Логирование процессов с тэгами для MODX Revolution 2 и 3 — тэги, воронки, контекст, менеджерный грид, алерты.
  1. Компоненты
  2. mxLogger
  3. Системные настройки

Системные настройки

Все настройки — в пространстве mxlogger. Значения по умолчанию указаны в скобках.

Запись

  • mxlogger.enabled (Да) — глобальный выключатель записи. Нет — логгер ничего не пишет (вызовы безопасны, возвращают null).
  • mxlogger.min_level (debug) — минимальный уровень записи: debug | info | warning | error. Записи ниже порога отбрасываются. На проде обычно поднимают до info/warning, чтобы не копить шум.

Захват трассировки

  • mxlogger.capture_mode (auto) — что захватывать в «Источнике»:
    • off — ничего;
    • caller — только класс/метод/файл/строка;
    • full — плюс стэк вызовов и параметры метода-источника;
    • autocaller для debug/info, full для warning/error.
  • mxlogger.trace_limit (15) — макс. число кадров в стэке.
  • mxlogger.args_max_depth (3) — макс. глубина вложенности при сериализации параметров/контекста.
  • mxlogger.args_max_string (512) — макс. длина строки (длиннее — обрезается).
  • mxlogger.args_max_items (50) — макс. число элементов массива.

При capture_mode=full в параметры метода-источника может попасть чувствительное (объекты сворачиваются в имя класса, но скаляры/массивы пишутся как есть). Для логирования событий магазина в комплектном плагине это уже учтено (trace=caller).

Фильтр тэгов

  • mxlogger.tag_filter_mode (auto) — алгоритм фильтра по тэгам:
    • fulltextMATCH(tags) AGAINST(... IN BOOLEAN MODE);
    • liketags LIKE '%,tag,%';
    • auto — FULLTEXT, но для тэгов короче 3 символов (innodb_ft_min_token_size) — LIKE-fallback.

Ротация (хранение)

  • mxlogger.log_lifetime (604800 — неделя) — срок хранения записей в секундах. 0 — не удалять. Чистка — плагином mxLoggerRotate на OnMODXInit.
  • mxlogger.rotate_interval (3600) — не чаще раза в N секунд запускать чистку (троттлинг через кэш). Минимум 60.

Whitelist-фильтры записи

Если задан хотя бы один — запись пишется только при совпадении (удобно отлаживать прод на свой аккаунт, не засыпая базу чужими логами). Пусто = пишем всё.

  • mxlogger.filter_user — id или username через запятую.
  • mxlogger.filter_usergroup — id или имя группы через запятую.
  • mxlogger.filter_session — идентификатор(ы) сессии через запятую.
  • mxlogger.filter_cookieимя (достаточно наличия куки) или имя=значение; можно несколько через запятую.

Поля user_id/session_id/ip пишутся всегда — whitelist влияет только на то, делать ли запись вообще.