#logging #apache-camel
#ведение журнала #apache-camel
Вопрос:
У меня есть маршрут, который сводится к следующему:
from("direct:" routeId)
.routeId(routeId)
.setHeader(Exchange.HTTP_PATH, simple("${header.path}")).removeHeader("path")
.setHeader(Exchange.HTTP_QUERY, simple("${header.queryString}")).removeHeader("queryString")
.toD(COMPONENT_NAME "://" myEndpoint "?" camelQueryParams)
Я хотел бы зарегистрировать URL-адрес и, желательно, заголовки, которые toD заканчивает отправкой. Если я отправлю обмен в компонент ведения журнала, например
.to("log:DEBUG?showBody=trueamp;showHeaders=true")
это просто завершает регистрацию exchange, и я не получаю URL, который был вызван.
Любые советы о том, как записать URL-адрес из toD?
Ответ №1:
Установите заголовок перед отправкой сообщения:
.setHeader("URL", simple(COMPONENT_NAME "://" myEndpoint "?" camelQueryParams))
.to("log:DEBUG?showBody=trueamp;showHeaders=true")
.toD(COMPONENT_NAME "://" myEndpoint "?" camelQueryParams)