Hi, 
Thank you for your reply... 

Yes, I refer the <log> inside errorHandler. 
Do you mean that 
org.apache.camel.spring.xml.handler.ErrorHandlerDefinitionParser.doParse should 
parse <log>? 

I checked your suggestions, but the first 2 parameters are related with the 
redeliveryPolicy and our aim is to log just after errorHandler started. In the 
future we are planning to remove redeliveryPolicy part...

I tried to set logName attribute in errorHandler but I am getting below error 
message.

Caused by: org.springframework.beans.NotWritablePropertyException: Invalid 
property 'logName' of bean class 
[org.apache.camel.builder.LegacyDeadLetterChannelBuilder]: Bean property 
'logName' is not writable or has an invalid setter method. Does the parameter 
type of the setter match the return type of the getter?

In addition to this I tried to set name from Java inside 
CamelContextConfiguration. beforeApplicationStart 
camelContext.getGlobalOptions().put(Exchange.LOG_EIP_NAME, " com.mypackage ");

but I am not sure how to set message because <log> is not parsed in 
errorHandler. We need to find a way to set log message. 

Do you have any other suggestion?

Best regards,
Burcu

-----Original Message-----
From: Claus Ibsen <claus.ib...@gmail.com> 
Sent: Tuesday, December 27, 2022 1:44 PM
To: users@camel.apache.org
Subject: Re: Camel errorHandler doesn't log before or after sending message to 
the dead letter channel

CAUTION: This email originated from outside of the organisation. Do not click 
links or open attachments unless you recognise the sender and know the content 
is safe.


Hi

If you refer to <log>

            <log id="logIncomingMsg" logName="com.mypackage"
              loggingLevel="ERROR" message="Pushing to backout queue"/>

As something that is supposed to be parsed by that spring code, then that is 
not.
The <log> is Log EIP and not really part of the error handler.

The following options is what configures how "verbose" the error handler is 
when it executes and what it logs

                    retryAttemptedLogLevel="WARN"
                    retriesExhaustedLogLevel="ERROR"/>

You can use logName to use a custom logger instead of the default

 <camel:errorHandler id="myErrorHandler" type="DeadLetterChannel"
                            useOriginalBody="true"
                            logName="xxxx"
                            deadLetterUri="jms:queue:mybackoutq">




On Tue, Dec 27, 2022 at 11:35 AM Burcu Egri <burcu.e...@aerlingus.com.invalid> 
wrote:

> After some investigation in Apache-Camel sources, we see that parser 
> do not parse log line in errorHandler section (see 
> https://gbr01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> ub.com%2Fapache%2Fcamel%2Fblob%2Fmain%2Fcomponents%2Fcamel-spring-xml%
> 2Fsrc%2Fmain%2Fjava%2Forg%2Fapache%2Fcamel%2Fspring%2Fxml%2Fhandler%2F
> ErrorHandlerDefinitionParser.java%23L77&data=05%7C01%7CBurcu.Egri%40ae
> rlingus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef
> 72b859bc5c0%7C0%7C0%7C638077346559845038%7CUnknown%7CTWFpbGZsb3d8eyJWI
> joiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7
> C%7C%7C&sdata=fIYP0Tn5BAOOBt26v3YSpMkTNcCHZs5QGDhYuuhPKXk%3D&reserved=
> 0]
> ).
>
> It seems it is a bug.
>
> Are there anybody to confirm this bug?
>
> -----Original Message-----
> From: Burcu Egri <burcu.e...@aerlingus.com.INVALID>
> Sent: Tuesday, December 27, 2022 12:28 AM
> To: users@camel.apache.org
> Subject: Camel errorHandler doesn't log before or after sending 
> message to the dead letter channel
>
> CAUTION: This email originated from outside of the organisation. Do 
> not click links or open attachments unless you recognise the sender 
> and know the content is safe.
>
>
> We have a simple Camel route like below. But we have noticed that 
> errorHandler log is not working. After some investigation, we 
> understood that errorHandler has different log parameters then other 
> logs(like in route or onException).
>
> We haven't succeeded to use errorHandler log. Yes, there are so many 
> options to log but we want to learn how to use this one. Our aim is to 
> log some texts before or after sending messages to deadletter queue.
> How can we use errorHandler log?
>
> apache-camel : 3.19.0
>
> spring-boot : 2.7.5
>
> <beans xmlns="
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.s
> pringframework.org%2Fschema%2Fbeans&data=05%7C01%7CBurcu.Egri%40aerlin
> gus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b8
> 59bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM
> C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C
> %7C&sdata=yGykqDG7w4AqrLqfXYQEYHvjypP1ptoIxkE30nHFY3Q%3D&reserved=0
> "
>        xmlns:xsi="
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.w
> 3.org%2F2001%2FXMLSchema-instance&data=05%7C01%7CBurcu.Egri%40aerlingu
> s.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b859
> bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4
> wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7
> C&sdata=fi8vX7Ux0XJCExlRN%2F187r0zaVmZwNF1oMD6waMcoMw%3D&reserved=0
> "
>        xmlns:camel="
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel
> .apache.org%2Fschema%2Fspring&data=05%7C01%7CBurcu.Egri%40aerlingus.co
> m%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b859bc5c
> 0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA
> wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sd
> ata=PpfTX%2BBYwEZIPEb41ld4f9Ot8GNN0sopA0czE2LBnHU%3D&reserved=0
> "
>        xsi:schemaLocation="
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.s
> pringframework.org%2Fschema%2Fbeans&data=05%7C01%7CBurcu.Egri%40aerlin
> gus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b8
> 59bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiM
> C4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C
> %7C&sdata=yGykqDG7w4AqrLqfXYQEYHvjypP1ptoIxkE30nHFY3Q%3D&reserved=0
>
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.s
> pringframework.org%2Fschema%2Fbeans%2Fspring-beans.xsd&data=05%7C01%7C
> Burcu.Egri%40aerlingus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf76
> 36536c46bf9adef72b859bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTW
> FpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6
> Mn0%3D%7C3000%7C%7C%7C&sdata=DdZ3l1f%2BMP2WWWYX%2FmICXJaCeNHPhge4FRlUi
> 1A5w9w%3D&reserved=0
>
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel
> .apache.org%2Fschema%2Fspring&data=05%7C01%7CBurcu.Egri%40aerlingus.co
> m%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b859bc5c
> 0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjA
> wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sd
> ata=PpfTX%2BBYwEZIPEb41ld4f9Ot8GNN0sopA0czE2LBnHU%3D&reserved=0
>
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel
> .apache.org%2Fschema%2Fspring%2Fcamel-spring.xsd&data=05%7C01%7CBurcu.
> Egri%40aerlingus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c
> 46bf9adef72b859bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZs
> b3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
> %7C3000%7C%7C%7C&sdata=7pQoV7gMmG%2FSHuCcL8VmuRuySIqJF90UbZiOiJjGaNw%3
> D&reserved=0
> ">
>
>     <bean id="mdcEnricher" class="com.mycompany.MDCEnricher"/>
>
>     <camel:camelContext id="mycontext" xmlns="
> https://gbr01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fcamel.apache.org%2Fschema%2Fspring&data=05%7C01%7CBurcu.Egri%40aerlingus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b859bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=PpfTX%2BBYwEZIPEb41ld4f9Ot8GNN0sopA0czE2LBnHU%3D&reserved=0";
> useMDCLogging="true">
>
>         <camel:errorHandler id="myErrorHandler" type="DeadLetterChannel"
>                             useOriginalBody="true"
>                             deadLetterUri="jms:queue:mybackoutq">
>             <redeliveryPolicy
>                     maximumRedeliveries="1"
>                     redeliveryDelay="1"
>                     retryAttemptedLogLevel="WARN"
>                     retriesExhaustedLogLevel="ERROR"/>
>             <log id="logIncomingMsg" logName="com.mypackage"
>               loggingLevel="ERROR" message="Pushing to backout queue"/>
>         </camel:errorHandler>
>
>
>         <camel:route id="myRoute" errorHandlerRef="myErrorHandler">
>             <from uri="jms:queue:myinputq"/>
>             <bean ref="mdcEnricher" method="enrich"/>
>             <log message="Received exchange with message id:
> [${headers.JMSMessageID}], starting processing"/>
>             <process ref="#class:com.mycompany.processor.MyProcessor"/>
>             <to uri="jms:queue:myoutputq"/>
>             <log message="Finished the processing exchange with 
> message
> id: [${headers.JMSMessageID}]"/>
>         </camel:route>
>
> Try to change log configuration and loggingLevel to DEBUG but nothing 
> changed.
>
> <springProfile name="local">
>     <logger name="org.apache.camel" level="DEBUG"/>
>     <logger name="com.mycompany" level="DEBUG"/>
>     <root level="DEBUG">
>         <appender-ref ref="LocalConsole"/>
>     </root>
> </springProfile>
>


--
Claus Ibsen
-----------------
@davsclaus
Camel in Action 2: 
https://gbr01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.manning.com%2Fibsen2&data=05%7C01%7CBurcu.Egri%40aerlingus.com%7Cb2261550ed5f45abb72c08dae7f74c1b%7C57bf7636536c46bf9adef72b859bc5c0%7C0%7C0%7C638077346560001301%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=sS4pDSGzU18gYFXjkRlxMsPxMeZj%2BHwK6nhACBG9Svw%3D&reserved=0

Reply via email to