Отладка и логгирование кода в HTTP-сервисах

1. user702327_nikservice 23.07.24 09:14 Сейчас в теме
Доброго дня!
Подскажите, есть ли возможность включить запись в журнал сообщений для HTTP-сервисов? Сейчас если код крашится внутри сервиса запись об этом событии в журнал не делается, что очень неудобно, поскольку понять что происходит очень сложно. ТП=1С:Предприятие 8.3 (8.3.18.1483) Отладка тоже хромает, потому как если установить точку останова и дождаться всплытия отладчика, то поработать с отладчиком удастся недолго. Следующее событие (отключить их у меня лично целая проблема) приведёт к тому, что текущая отладка прерывается и ты снова оказываешься в установленной точке останова. И так до бесконечности, отладчик будет всплывать вновь и вновь не давая сделать и нескольких шагов. Отключение точки, как и снятие галки "Автоматическое подключение" -> "HTTP-сервисы" не работает нормально.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starik-2005 3073 23.07.24 10:39 Сейчас в теме
Функция ГЕТПОСТЧтоТоТам(Запрос)
  Попытка
    ОбщихМодулейПроцедурофИФуенкиеф.ГЕТПОСТЧтоТоТам(Запрсо)
  Исключение
    ЗаписЖурналаРегистрации(БлаБлаБла..., ОписаниеОшибки())
  КонецПопытки
КонецФункции
3. _f_d_v_ 23.07.24 11:44 Сейчас в теме
А я немного иначе делаю.
В самой http получаю только параметры, а всю обработку выношу в модуль. ответ из модуля если возвращаю как json, то вкладываю туда ошибку как строку.

Т.о. достигаются три важные вещи
1. мне не нужно отслеживать ошибки в http функции, т.к. там ломаться нечему.
2. я могу спокойно отладить логику, хоть даже обычной обработкой.
3. не создаю лишних ошибок в http связанных с моей логикой. их там и без меня хватает.

Пример кода
4. user1880116 23.07.24 15:17 Сейчас в теме
(3)
Ответ = Новый HTTPСервисОтвет(405,"DATA NOT FOUND");


http 405 это "Method Not Allowed", ну никак не "DATA NOT FOUND"

Боженьки, каких же франкенштейнов вы тут сами плодите и других на них обучаете...
5. _f_d_v_ 23.07.24 15:25 Сейчас в теме
(4)
(4)
DATA
а кто сказал, что в шапке ошибки description должен совпадать с тем, что ты прочитал в документации об ошибке? напиши туда че хочешь. еще скажи что к 500 ошибке обязательно писать Internal Server Error а к 200 только OK.
Все бы только умничать да поучать. Нет чтобы что-то умное написать.
6. user1880116 23.07.24 15:40 Сейчас в теме
(5) Чуваааак....

Например, ошибку 405 выбрасывает сама 1С, когда лезешь к хттп сервису не тем методом, который прописан в шаблоне. До исполнения кода дело вообще не доходит. И как бедный вызывающий сервис должен понять что происходит? Он не указал тело запроса? Он делает вызов не того метода? Он вообще не туда долбится?

Я ж и говорю - неучи учат неучей.
7. user2033930 23.07.24 15:47 Сейчас в теме
(6) Ну тебе же ответили: не важно, что в сарае дрова лежат, желание написать на нём любимое слово - важнее!
Как маленький, ейбо...
8. _f_d_v_ 23.07.24 16:17 Сейчас в теме
(6) нет возможности запретить 1с принимать от http сервисов post запросы с пустым телом, не попадая в обработку. Если есть, напиши как, я с удовольствием поучусь. В других языках, где есть возможность типизировать post, при попытке передать туда пустоту, выстрелит ошибка.
Если бедный запрос из вне передал мне кукиш вместо осмысленного тела запроса, я его обработать не могу и что-то должен ему ответить. Почему бы не 405 ошибку?
Если тебе не нравится ошибка 405 напиши любую другую или не пиши ничего это твое личное дело.
9. user1880116 23.07.24 17:45 Сейчас в теме
(8)
я его обработать не могу и что-то должен ему ответить. Почему бы не 405 ошибку?
Прикрепленные файлы:
10. user702327_nikservice 24.07.24 08:59 Сейчас в теме
Ну господа! Ваши желания и амбиции мне ясны. Но всё-же! Как включить штатную запись ошибок в журнал? Это вообще возможно? У меня в сервисах тысячи строк. И где-то там по дороге иногда что-то крашится. Причём по шпионски молчаливо! Выяснить это помогла бы элементарная запись в журнале, типа - вот в этой строке вот это нехорошо. Но 1С не любит разбрасываться словами. Вариант из (2) вроде выглядит приемлемо. Но господи! Неужели и тут костылить нужно ради обретения душевного равновесия?
11. starik-2005 3073 24.07.24 10:11 Сейчас в теме
(10)
господа
+
душевного равновесия
Ваще рядом не бывало.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот