Как получить файл Apex Log для анализа транзакции

Как часто к вам прибегали коллеги или клиенты и просили срочно прислать логи?… Вот им нужно понять, почему когда-то там у них не поменялось значение в каком-то поле, хотя должно!!! Уверен, такое часто бывает.

На самом деле лог легко и просто можно получить в Salesforce. Сейчас мы узнаем, как это.

Apexlog

Процесс получения логов состоит из двух шагов:

  • Получение id лога;
  • Получение файла с логом.

В Salesforce всё хранится в объектах. Логи это не исключение, для этого есть отдельный специальный объект.

Получить id лога можно двумя способами.

Dev консоль

Для этого нам понадобится вот такой запрос:

SELECT id, SystemModstamp
FROM ApexLog

В итоге получаем вот такую таблицу, с которой можно работать

image

Workbench

Заходим в Workbench и создаем вот такой запрос:

image

Получение Log файла

Для этого нам понадобится Workbench. Открываем вкладку.

В поле для запроса прописываем вот такую строку:

/services/data/v48.0/sobjects/ApexLog/{id}/Body

{id} - заменяем на наш id, взятый из предыдущего пункта. Как итог — мы получаем лог файл, с которым можем работать и проводить анализ произошедшего.

Вот таким образом мы можем работать с логами — не только в дев консоли, но и в офлайн режиме.

4 Likes

А ещё можно через веб интерфейс скачать… но это скучно…

2 Likes

Да, определенно можно скачать и через веб.
Однако у меня в сандбоксе, выполнения анонимного кода в выборку логов не попало, увы.

image

так подозреваю, что для получения логов такого плана, нужно менять уровни логирования.

вот тут-то и возникает момент что ты должен заранее проставить и сделать манипуляции, которые возможно и не нужны.

Хотя я могу ошибаться. Буду рад если поправите )

А как он выполняется? Если в Developer Console или IDE, то там же они и будут (должны быть)…

Он выполнялся в дев консоли. В самой консоли я его могу посмореть, а вот в меню Debug logs его не видно. А когда закрываю консоль, то понятно, что при повторном открытии консоли уже ни одного лога нет.

А и действительно! Что-то я раньше и не замечал, а может очень даже понадобиться!
Спасибо!

1 Like