How can I log a header value in camel using spring DSL

此生再无相见时 提交于 2019-12-03 12:11:22

Asked this question some time back, and realized that I eventually found the answer so should post it here in case someone else finds this thread in a search. This works:

<log message="ftping $simple{in.header.CamelFileName}" loggingLevel="DEBUG"/>

Try the following, either will work:

<log message="ftping ${header[CamelFileName]}"/>
<log message="ftping ${headers.CamelFileName}"/>

The $simple{...} syntax was added in Camel 2.5 to avoid clashes with Spring ${...} - it might be that you're using an older version?

In JAVA DSL

from("logger")
.log(LoggingLevel.INFO, "${in.headers.CamelFileName}")
.end

LoggingLevel is from org.apache.camel.LoggingLevel

Not sure it's possible

http://camel.apache.org/logeip.html

Difference between log in the DSL and Log component The log DSL is much lighter and meant for logging human logs such as Starting to do ... etc. It can only log a message based on the Simple language.

On the other hand Log component is a full fledged component which involves using endpoints and etc. The Log component is meant for logging the Message itself and you have many URI options to control what you would like to be logged.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!