Torsten Mielke created FELIX-5107:
-------------------------------------
Summary: NPE in
org.apache.felix.eventadmin.impl.adapter.LogEventAdapter if log msg is empty
Key: FELIX-5107
URL: https://issues.apache.org/jira/browse/FELIX-5107
Project: Felix
Issue Type: Bug
Components: Event Admin
Affects Versions: eventadmin-1.4.4
Reporter: Torsten Mielke
If a log event contains an empty message, it raises an NPE in
https://github.com/apache/felix/blob/trunk/eventadmin/impl/src/main/java/org/apache/felix/eventadmin/impl/adapter/LogEventAdapter.java#L180
As a result the Karaf container will raise
"'org.apache.felix.eventadmin.impl.adapter.LogEventAdapter$1@2d945cb1' is
removed as a LogListener, since it threw an exception."
to stderr and remove this event admin instance.
An empty log message may sound like a stupid thing to do but may happen as a
result of e.g. running a Camel route like this one deployed in a Karaf
container:
{code:java}
public class LogExceptionRoute extends RouteBuilder {
@Override
public void configure() {
onException(Throwable.class)
.handled(true)
.log(LoggingLevel.ERROR, "${exception.message}");
from("jetty:http://0.0.0.0:8005").routeId("reproducer-log-exception")
.throwException(new Exception());
}
}
{code}
The route raises an empty exception (i.e. no detail message) which then get
logged in the onException() policy, causing the error above.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)