- Добавлена опция
LogCombinedобъединяющая логиrequestиresponseдляhhtpclix.LogConfigToContext - Добавлена middleware
LogWithOptionsв пакетgrpc/clientпринимающая опцииWithLogBody,WithLogResponseBody,WithLogRequestBody,WithCombinedLog
- Добавлено поле
bodySizeв логи:rmq client: consume message,rmq client: publish messagekafka consumer: consume message,kafka client: publish messagestomp client: consume message,stomp client: publish message
- Изменено логирование Result для
kafkax,stompx,grmqx:- При Requeue и Retry, если не предоставлена ошибка, то тип логов Debug.
kafkaxпри Nothing обработка сообщения прекращается.
- Добавлен мьютекс в cluster при обновлении конфига
- Добавлено поле eventId в логи для трассировки событий
- Добавлены функции UpsertContextField, FromContext и CopyValues для работы с полями лога в контексте
- для конфигурации
kafkaxauthтеперь может быть не заполнено
- для паблишера
rabbitMqдобавлен лог при реконнекте
- Для http теперь в зависимоси от
StatusCodeвыводится соотвествующий уровень логирования: 400 -> warn, 500 -> error
- файл свагера отдается как
application/jsonбез экранирования
- файл свагера отдается как
application/yamlбез экранирования
- Добавлен модуль
common_endpoints:- Добавлен эндпоинт
"basePath" + "/swagger"для отдачи swagger-документации в формате base64-encoded (HTTPиgRPC)
- Добавлен эндпоинт
- Добавлен тип транспорта в
bootstrap - Добавлен
httpMethodв описаниеendpoint'а
- Добавлено декодирование заголовка
x-application-nameиз base64
- Переписан
endpoint.Callerдля HTTP и gRPC:- Предвычисляются
hasResultиhasErrorдля ускорения вызова метода контроллера. - Упрощена сигнатура handler'ов — теперь поддерживаются только четыре варианта возвращаемых значений:
(result, error),result,errorи отсутствие значений.
- Предвычисляются
- Добавлен close в sync логгера
- Добавлена опция для переключения лога с запросом и ответ в 1 лог (для
grpc-"grpc handler: log", дляhttp-"http handler: log") - Добавлена информация об приложении (название и его идентификатор) в объединённый лог
- Добавлен метод в
AuthDataдля получения названия приложения
- Обновлён пакет
kafkax:- Исправлен сбор метрик кафка-клиентов (consumer, producer)
- Добавлена проверка соединения с брокером при инициализации кафка-клиентов (consumer, producer)
- Добавлена возможность отключения stdout и записи логов в файл
- Исправлено поведение закрытия kafka консьюмера. Добавлена ещё одна проверка после закрытия консьюмера
- Миграция kafkax с kafka-go на franz-go
- Исправлено поведение закрытия kafka консьюмера
- Обновлен пакет
bgjobx/handler:- Исправлена ошибка, когда NextRunAt всегда был 0s
- Обновлено readme
- Добавлен метод RescheduleByCron для получения следующего времени выполнения на основе крон выражения
- Добавлен standalone
bootstrap
- добавлен пакет
endpoint/v2с функциями, реализованными на дженериках endpoint.DefaultWrapperтеперь возвращаетWrapperиз пакетаendpoint/v2
- Обновлен пакет
kafkax:- Исправлена периодическая ошибка при закрытии консьюмера
- Исправлена отправка метрик консьюмера
- Обновлен пакет
bgjobx:- Добавлена обработка и логирование
requestId
- Добавлена обработка и логирование
- Выпуск тега
- Обновлен пакет
grmqx:- Вынесен в
grmqx/batch_handlerпакетный обработчик сообщений RabbitMq - Добавлена функция создания пакетного обработчика с предустановленными инструментами логирования, сбора метрик и восстановления при панике
- Вынесен в
- Добавлен метод отмены регистрации из реестра Healthcheck (удаление элемента):
- Метод необходим для правильной работы Healthcheck при регистрации элементов вне блока Assembly.New
- Обновлен пакет
stompx:stompx.ConsumerGroupзаменен наstompx.Client, объединяющий консумеры и паблишеры- Добавлен метод проверки состояния подключений Healthcheck для
stompx.Watcherиstompx.Publisher
- Вынесен в локальную конфигурацию модуля (
config.yml) параметрhealthcheckHandlerTimeoutтаймаута обработки запроса/internal/health
- Скорректирована опция WithLogObserver для правильной работы с контекстом
- Добавлена опция конструктора WithLogObserver в пакет grmqx
- обновлены зависимости
- обновлена версия Go до 1.25
- обновлены правила golangci-lint
- Обновлен пакет
bgjobx/handler, добавленMuxдля мультиплексирования фоновых задач
- добавлены метрики для операций BEGIN, COMMIT, ROLLBACK
- добавлена опция для указания типа транзакции в
RunInTransaction
- Исправлена обработка результата bgjob
- Вынесен в локальную конфигурацию модуля (
config.yml) параметрremoteConfigReceiverTimeoutтаймаута на получение модулем remote-конфигурации - Обновлены зависимости
- первая версия