Brad Harvey created CAMEL-15653:
-----------------------------------
Summary: Improve SJMS Batch Logging
Key: CAMEL-15653
URL: https://issues.apache.org/jira/browse/CAMEL-15653
Project: Camel
Issue Type: Improvement
Components: camel-sjms
Affects Versions: 3.4.3
Reporter: Brad Harvey
When there are multiple SJMS-Batch consumers in a camel context it is currently
very difficult to work out which one some of the log messages apply to because
many don't include the URI or queue name and happen outside the context of a
route (so route MDC logging doesn't help).
Suggested improvements:
* Thread names should include the destination name. The standard jms
component consumers already do this.
* Most log messages (especially error messages) should include the destination
name.
It may be appropriate to use the consumer URI without query parameters instead
of the destination name - I'm not sure if there is a standard approach used by
other components.
Examples of current log messages from a spring boot app:
{code:java}
2020-10-08 10:38:31.313 WARN ||| 12468 --- [Camel (camel-1) thread #21 -
AsyncStartStopListener] o.a.c.c.sjms.batch.SjmsBatchConsumer : Error
starting consumer after 1 attempts. Will try again in 5000 millis.. Caused by:
[org.apache.qpid.jms.exceptions.JMSSecuritySaslException - Client failed to
authenticate using SASL: PLAIN]
2020-10-07 14:11:44.351 INFO ||| 27720 --- [Camel (camel-1) thread #15 -
SjmsBatchConsumer] o.a.c.c.sjms.batch.SjmsBatchConsumer : Shutdown signal
received - rolling back batch
{code}
Example of current thread name from SJMS-Batch consumer: "Camel (camel-1)
thread #13 - SjmsBatchConsumer"
Queue name in AsyncStartStopListener might be helpful too - currently: "Camel
(camel-1) thread #6 - AsyncStartStopListener"
In contrast, the standard JMS component includes the queue name in the thread
name and in error messages:
{code:java}
2020-10-08 10:38:35.245 WARN ||| 12468 --- [Camel (camel-1) thread #12 -
JmsConsumer[myQueueName]] c.c.j.DefaultJmsMessageListenerContainer : Setup of
JMS message listener invoker failed for destination 'myQueueName' - trying to
recover. Cause: The transport is not running.
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)