[ https://issues.apache.org/jira/browse/LOG4J2-1676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15647072#comment-15647072 ]
Joern Huxhorn commented on LOG4J2-1676: --------------------------------------- Because {{getThrowable()}} is part of the {{Message}} interface. One can implement custom messages like this: {code:java} public class FooMessage implements Message { @Override public String getFormattedMessage() { return "foo message"; } @Override public String getFormat() { return "foo message format"; } @Override public Object[] getParameters() { return new Object[]{"param1", "param2"}; } @Override public Throwable getThrowable() { return new RuntimeException(); } } {code} It is very surprising that this message will create an event without a {{Throwable}}. At least Remko and I didn't have an immediate explanation. Similarly, it shouldn't make a difference whether a {{ParameterizedMessageFactory}} is used internally in via {code:java} protected void logMessage(final String fqcn, final Level level, final Marker marker, final String message, final Object... params) { final Message msg = messageFactory.newMessage(message, params); logMessageSafely(fqcn, level, marker, msg, msg.getThrowable()); } {code} or manually via {code:java} logger.debug(new ParameterizedMessage(messagePattern, arguments)); {code} > Use Message.getThrowable() in log(Message) methods > -------------------------------------------------- > > Key: LOG4J2-1676 > URL: https://issues.apache.org/jira/browse/LOG4J2-1676 > Project: Log4j 2 > Issue Type: Bug > Affects Versions: 2.5, 2.6, 2.7 > Reporter: Joern Huxhorn > > All {{log(Message)}} methods should use {{Message.getThrowable()}}, e.g. > {code:java} > public void debug(final Message msg) { > logIfEnabled(FQCN, Level.DEBUG, null, msg, msg != null ? > msg.getThrowable() : null); > } > {code} > instead of the current > {code:java} > public void debug(final Message msg) { > logIfEnabled(FQCN, Level.DEBUG, null, msg, null); > } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: log4j-dev-unsubscr...@logging.apache.org For additional commands, e-mail: log4j-dev-h...@logging.apache.org