[ https://issues.apache.org/jira/browse/LOG4J2-1055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14587650#comment-14587650 ]
Gary Gregory commented on LOG4J2-1055: -------------------------------------- Patches welcome :-) > Logger method overloads for multiple message formatting params > -------------------------------------------------------------- > > Key: LOG4J2-1055 > URL: https://issues.apache.org/jira/browse/LOG4J2-1055 > Project: Log4j 2 > Issue Type: Improvement > Components: API > Affects Versions: 2.3 > Reporter: Tomasz Kowalczewski > Priority: Critical > Labels: performance > > When logging message with parameters Logger interface provide methods of the > form {debug/info/error}(Marker marker, String message, Object... params); > This means there will be an array of params created for each call. There > should be overrides that accept one param, two params etc. > SLF4J has such overrides and require explicit array creation if someone > provides too many params (there is no varargs version). If people use LOG4J2 > under the covers they will be surprised that arrays are created for every > call. > What is worse, people think that call of the form > LOGGER.debug("Message: {}", foobar); > when using SLF4J does not need to be wrapped in if(LEGGER.isDebugEnabled()) > check as the API is specifically designed that there should be no object > allocation happening if the level is disabled. LOG4J2 breaks that promise. > This array creation is visible in our applications - it is not optimised away > by escape analysis. -- 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