инфу из медиатора передать в ExceptionMiddleware?
Точнее, есть внутренние переменные (Ids) которые присваиваются каждому запросу, при возникновении исключения мне бы их как-то достать (внутри ExceptionMiddleware), вот не могу придумать как именно это сделать
А кто присваивает эти переменные запросу?
До передачи запроса в медитр и попадания его в нужных хэндлер, есть несколько классов с интерфейсом IPipelineBehavior, вот там как раз и происходит присваивание нужных ids
Да, у меня была мысля пихать эти ids в HttpContext, а потом доставать. Но желание напрямик вытащить данные которые присвоились в IPipelineBehavior в случае exception'a, было бы куда лучше, но мне кажется в этот момент процесс уже удаляется и его нет
Наверное и и неправильно там в httpContext лезть. А куда пишется идентификатор этот вообще, представим, что я нахожусь в PipelineBehavior, как получить доступ к идентификаторук?
О, всё, спасибо большое
Вообще, мы у себя делали так. По идее один запрос контроллера - это один вызов медиатора. Мы брали в миддлеваре var operation = $"{controllerName}+{actionName}"; Помещали это в logger.BeginScope(operation); и потом при записи в лог это попадает в структурный лог Ну тут нужно настраивать логгер
У меня есть такой логгер, но это логгер запроса. А при том объеме что есть проблемно вытащить из какого запроса прилетел exception
запрос - это в терминах медиатора или http?
В терминах http. На самом деле я и в EceptionMiddleware его тоже дублирую, чтобы можно было быстрее составить подобный запрос на роут. Но вот OperationId нужен для того, чтобы отследить все поэтапные шаги которые выполнялись в медиаторе
Обсуждают сегодня