Size: a a a

2021 September 29

ПГ

Павел Г. in symfony
Потом Газл под него. Ну если не хочется на газле завязываться
источник

D

Dmitry in symfony
не мучать себе мозг а юзать HttpClient встроенный через DI HttpClientInterface
источник

D

Dmitriy in symfony
Это всё понятно
источник

А

Антон in symfony
Заводишь интерфейс для http-клиента. Заводишь интерфейс фабрики для создания http-клиента. Пишешь адаптер под газзл. А дальше почти тот же конфиг, что я кинул выше.
источник

D

Dmitry in symfony
вот когда захочется "какой-нибудь SDK" просто реализовываете ваш интерфейс через SDK и все
источник

D

Dmitriy in symfony
Благодарю
источник

МФ

Максим Федоров... in symfony
если понятно это, значит и понятно, почему
источник

D

Dmitriy in symfony
Конечно, я буду встроенный http-клиент юзать. В моём изначальном вопросе Guzzle можно поменять на что угодно - вопрос заключался в сути того, как это делать.
источник

D

Dmitriy in symfony
Да не суть уже - разобрались) Всем спасибо
источник

✨Basic_Instinct✨ in symfony
посмотри в сторону настройки монологера, в консоли комманду
php bin/console debug:container monolog
и там тебе полный список каналов, в том числе request и security
источник

AD

Andrey Dembitskyi in symfony
kernel exception тоже покрой
источник

ПГ

Павел Г. in symfony
Спасибо, про эту сторону и спрашивал. Что мб можно как то монолог поднастроить. Посмотрю )
источник

ПГ

Павел Г. in symfony
Спасибо. Но вроде monolog покрывает, хотя конечно без доп данных, а протсо что exception долбанул
источник

AD

Andrey Dembitskyi in symfony
Ты спрашивал, куда добавить свой слушатель, чтобы покрыть request/response.
Response события не будет в случае необработанного исключения и твой слушатель не отработает.

Если вопрос в том, чтобы в итоге хоть что-то попадёт в лог - так это хоть "что-то" попадёт в лог и без твоего слушателя
источник

ПГ

Павел Г. in symfony
А ок, понял. Спасибо :)
источник

✨Basic_Instinct✨ in symfony
как вариант конфига

       security:
           type: rotating_file
           max_files: 10
           channels: ["security"]
           level: debug
           path: "%kernel.logs_dir%/%kernel.environment%_security.log"

       request:
           type: rotating_file
           max_files: 10
           channels: ["request"]
           level: debug
           path: "%kernel.logs_dir%/%kernel.environment%_request.log"

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

✨Basic_Instinct✨ in symfony
ну и не забываем что в разном окружении свои конфиги
источник

ПГ

Павел Г. in symfony
Спс, надо в сторону реквест чанела посмотреть :) можно наверное свой хэндлер написать и добавлять данные.
источник

✨Basic_Instinct✨ in symfony
все верно ))
источник

D

Dmitriy in symfony
Подскажите, пожалуйста, где может быть засада) Сделал кастомный валидатор (класс, который отнаследовал от ConstraintValidator). В нём в методе validate для проверки вызываю dd($constraint);. В DTO, которое я хочу валидировать, указал этот валидатор через аннотацию у свойства. В итоге валидатор (Validation::createValidatorBuilder()->enableAnnotationMapping()->getValidator()) почему-то вообще мой кастомный валидатор игнорирует. Почему такое может быть?
источник