Skip to main content

Журнал запросов

Журнал запросов хранится в регистре сведений OData4_Журнал и включается на вкладке Журнал формы «Настройки OData4». По умолчанию он выключен.
Вкладка «Журнал»: уровень, режим записи, срок хранения и список записей с отбором

Вкладка «Журнал»: уровень, режим записи, срок хранения и список записей с отбором

Каждая запись содержит:
  • время (в миллисекундах, UTC);
  • сервис (odata или odatat);
  • субъект: пользователь Basic или имя токена;
  • профиль;
  • метод и путь;
  • статус и длительность;
  • число строк;
  • операцию записи (Добавление, Изменение, Удаление, ФизическоеУдаление, Проведение, ОтменаПроведения) и полное имя объекта метаданных;
  • по флажкам — параметры запроса и текст ошибки.
У операций одного $batch общий идентификатор пакета.

Настройки

Буферизованный режим держит записи в памяти сеанса HTTP-сервиса. Буфер теряется при сбое процесса и при завершении сеанса после 20 секунд простоя. Поэтому при редких запросах почти всё теряется. Выбирайте этот режим только при плотном потоке запросов.

Что не попадает в журнал

  • Секреты. Параметры token и cont убираются из пути. Значения, похожие на токен (o4_…), заменяются на o4_*** и в пути, и в тексте ошибки.
  • Тело запроса не пишется ни при каком флажке. Значения из тела, которые повторил текст ошибки (строки и числа), заменяются на ***.
  • Отказы входа (401 без учётных данных или с неверным токеном) прислать может кто угодно. Поэтому по умолчанию пишется только первый отказ за минуту на сервис и адрес клиента. Ошибки после входа (403, 404, 429 и другие) пишутся всегда.
Читать журнал может только администратор: роли пользователей сервиса дают право только на добавление записей.

Журнал не задерживает ответ

Каждый запрос пишется своей короткой транзакцией по своему ключу, поэтому в клиент-серверной базе запросы друг друга не ждут. Сбой записи журнала не меняет ответ клиенту: он фиксируется в журнале регистрации событием OData4.Журнал.
В файловой базе блокировки табличные. Если журнал заблокирован чужой незавершённой записью, ответ ждёт тайм-аута блокировки платформы, до 20 секунд. В клиент-серверной базе такого нет. См. Ограничения.

Регламентная очистка

Регламентное задание «Очистка OData4» по умолчанию выполняется каждый день в 3:00. У него три независимых шага:
  1. Удаляет записи журнала старше срока хранения. При сроке 0 журнал не трогается.
  2. Удаляет счётчики правил частоты вне самого длинного окна правил.
  3. Удаляет использованные и просроченные токены продолжения и устаревшие ответы повторяемых запросов.
Сбой одного шага не мешает остальным и пишется предупреждением OData4.Очистка.
В файловой базе регламентные задания выполняются, только пока открыт сеанс с обработкой заданий. Например, сеанс толстого клиента или обработка регламентных заданий в конфигурациях на БСП. Без такого сеанса очистка не идёт. В клиент-серверной базе задания выполняет сервер.
Кнопка «Очистить старые записи» на вкладке «Журнал» выполняет вручную только первый шаг.

События журнала регистрации

Подробности ошибок клиент не получает: в ответе 500 и 503 всегда постоянный текст. Технические детали — в журнале регистрации 1С.