Логилку

Логилку

Привет, расскажите кто какую логилку использует в сф? Без логов жить плохо, а штатная дороговато получается.

3ff92449553a511907deb1a8b123b58c?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

Если позволяет бюджет и время то прикручиваю свой кастомный на кастомном объекте с каким нибудь громким именем Log__c (правда из-за лени пока это тупо копипаст из проекта в проект, а не универсальный пакет). Просто в критических местах расставляю создание записей с какой нибудь служебной информацией. Очень помогает у многих клиентов отловить "редкие" ошибки на проде (потому что большенство заказчиков работают по принципу хуяк-хуяк и продакшен).
Если по человечести делать, то видел как прикручивали к одному проекту Loggly, но из-за распиздяйства программистов (моего в том числе ) и недостаточного код ревью этого момента хорошее начинание загнулось и работало местами как артефакт.

ХМ. Вот похвалил Loggly а у них основной сайт лежит (у меня по крайней мере). Хотя на поддоменах (клиентских) работает.

А беду с тем что если случился Exception то всё что ты в самодельной логилке записал стирается, как-то решаешь?

3ff92449553a511907deb1a8b123b58c?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

try/catch

если выполнение заканчивается эксепшином так то да try/catch надёжная штука

3ff92449553a511907deb1a8b123b58c?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

Ну мы люди простые пишем простой код и конечно у нас все заканчивается на эксепшене

А что за "штатная" и почему она "дорогая"?
Никаких своих логов не использую. После объявления метода фигачу System.debug(LoggingLevel.INFO с параметрами метода. Если какие проблемы, повторяю шаги пользователя и смотрю в дебаг. На этом проблема, обычно, заканчивается.

Ты используешь дебаг, а логирование это когда логи хранятся долго и ты можешь посмотреть какие ошибки были месяц или год назад.
Дорого потому что надо либо использовать Data Storage SF что с 500 тыс записями на орг крайне расточительно или искать(разрабатывать) сторонний сервис.

Dmitry Shnyrev
какие ошибки были месяц или год назад.

кстати и не только ошибки, а любые другие события, те же запросы к вшешним API как уходят и что приходит в ответ (тоже постянно у клиентов логирую).

Типичный пример жизненный. Запилил одному клиенту интеграцию с одним внешним сервисом. На тестовых данных все работает и на проде по началу то же. Но вот клиент посадил кучу девушек за мою страницу и получилось что случались моменты когда в короткий промежуток времени генерировалось много запросов к сервису и сервис тупо отключался с ответом "Слишком много запросов. Попробуйте через минуту." И целую минуту все висели, а потом сервис открывался и его сново закидывали очередью запросов. Вот такое фиг выловишь и тестами и воспроизведением и даже по Документации ничего не нашел. А логи открыл и сразу увидел кучу ответов интересных
Логи нужны!!!!

Кстати, хорошая идея. Надо и себе о таком подумать.

Да именно для внешних систем, но такая логилка недаёт бросать эксепшины в ответ внешней системе, а без н х както не аккуратненько :-(

3ff92449553a511907deb1a8b123b58c?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

Не совсем понял твое предложение. Можешь на реальном примере рассказать что не получится?

есть внешняя система "A" она отправляет мне данные, я бережно сораняю их в лог (в документ) и выясняю, что по этим данным мне обновлять пока что нечего, я как в лучших практиках бросаю эксепшин "пока у меня данных по обновляемому вами объекту нет, попробуйте позднее" при этом я теряю запись в логе пришедшей информации.

3ff92449553a511907deb1a8b123b58c?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

А можно ссылку на такие "лучшие практиик"?
Разве "не обновлять" не ожидаемый результат? Мне кажется, очень даже ожидаемый. Такое может быть? Очень даже. Зачем бросать исключение. Еще бы понял, если возвращает статус 404 или 500, или еще что. А тут ноль вернулся.

Сторонняя система ждёт что я ей должен ответить идешником обновлённого объекта.

3ff92449553a511907deb1a8b123b58c?size=200&d=https%3a%2f%2fsalesforce developer.ru%2fwp content%2fuploads%2favatars%2fno avatar

А какой ответ она ждет, если нет обновления? Ну и кинь хотя бы название такой практики.

Dmitry Shnyrev
Ты используешь дебаг, а логирование это когда логи хранятся долго и ты можешь посмотреть какие ошибки были месяц или год назад.
Дорого потому что надо либо использовать Data Storage SF что с 500 тыс записями на орг крайне расточительно или искать(разрабатывать) сторонний сервис.

Чет это как то сложно, на почте храните логи делов то!

Sergey Prichepo
на почте храните логи делов то!

Во! Простое решение для простого логирования. Мне нравится.

Sergey Prichepo
Чет это как то сложно, на почте храните логи делов то!

:D

Chiz
Sergey Prichepo
на почте храните логи делов то!

Во! Простое решение для простого логирования. Мне нравится.

вроде на форуме где то пример видел мы отправляем callout на майлгун а нам и в час x если надо к нам приходят все логи, но здесь вариантов куча.

Sergey Prichepo
Чет это как то сложно, на почте храните логи делов то!


Почта и логи? Вы товарищи знаете толк в извращениях.
Опять же повторю - логи это не только критические эксепшены о которых надо оповещать тех комманду в 2 часа ночи.
Логи ведутся и когда все просто работает. А в базу их надо складывать потому что потом с ними надо будет работать. Эх товарищи засиделись вы в SF. Почитайте про логирование для простых программистов.

Dmitry Shnyrev
Sergey Prichepo
Чет это как то сложно, на почте храните логи делов то!


Почта и логи?

Ёпта... Я помню у меня когда то давно день начинался с того что я разбирал почту с логами за прошлый день,там всё работало,просто вели статистику,потом у VRP подсмотрел решение можно получать логи на почту за определенный период через майлгун.

Кстати, логи на почту лучше, чем без них. Плюс, никаких затрат, кроме единоразового написания кода.

Ох жесть ковыряться в тоннах писем. И тратить на это время целого программиста. Есть же целые сервисы и специальные прилаги под линукс (можно поднять на свое VPS) которые будут принимать логи, парсить и складывать в нужном виде и оповещать если что.
А так заболел программист, почту не разгреб и звиздец?
Почта все-таки не для логов, а для оповещений. А оповещения должны строиться на основе парсинга логов и срабатывать по определенным событиям.

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

Ну логгировать через почту - точно бред!

Interesting information? Help us, post link to social media..