Marco Bergsma created CAMEL-20356:
-------------------------------------
Summary: LoggerHelper returns wrong name
Key: CAMEL-20356
URL: https://issues.apache.org/jira/browse/CAMEL-20356
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 3.20.9
Reporter: Marco Bergsma
I noticed that the source for logging and message history was incorrect for
this route.
{code:java}
@Component
public class TestRoutes extends EndpointRouteBuilder {
@Override
public void configure() throws Exception {
from(timer("test").repeatCount(1))
.routeId("test")
.log("Hello world")
.throwException(new Exception("Exception message")); {code}
The following logging is what I got:
{code:java}
2024-01-22 16:54:19.103 INFO 19752 --- [ - timer://test] java:15
: Hello world
2024-01-22 16:54:19.108 ERROR 19752 --- [ - timer://test]
o.a.c.p.e.DefaultErrorHandler : Failed delivery for (MessageId:
F49EB5D651EC2D3-0000000000000000 on ExchangeId:
F49EB5D651EC2D3-0000000000000000). Exhausted after delivery attempt: 1 caught:
java.lang.Exception: Exception messageMessage History
---------------------------------------------------------------------------------------------------------------------------------------
Source ID
Processor Elapsed (ms)
java:13 test/test
from[timer://test?repeatCount=1] 632443839
java:15 test/log1 log
2
java:16 test/throwException1
throwException[java.lang.Exception] 0
{code}
Wherever it says: *java* I would expect {*}TestRoutes{*}.
Did some digging on my own and I think it's because of this piece of code in
the LoggerHelper.getLineNumberLoggerName
{code:java}
// classname so let us only grab the name
int pos = name.lastIndexOf('.');
if (pos > 0) {
name = name.substring(pos + 1);
} {code}
The name in this case is *TestRoutes.java* and the substring method grabs
*java* instead of *TestRoutes.*
--
This message was sent by Atlassian Jira
(v8.20.10#820010)