[ https://issues.apache.org/jira/browse/LOG4J2-2732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16990254#comment-16990254 ]
Gary D. Gregory commented on LOG4J2-2732: ----------------------------------------- I do not think this is right, you want to pass in a Supplier here, not a String, otherwise, you are calling the method and in this case computing the ID every time, whether you need it or not. Hm... dang, I think we are still stuck on Java 7 for 2.x, so we'd have to use our own Supplier which we have somewhere in our code base... > Add ThreadContext.putIfNull(String, String) > ------------------------------------------- > > Key: LOG4J2-2732 > URL: https://issues.apache.org/jira/browse/LOG4J2-2732 > Project: Log4j 2 > Issue Type: New Feature > Components: API > Reporter: Matt Pavlovich > Priority: Major > Time Spent: 10m > Remaining Estimate: 0h > > Provide a helper method that provides a 1-liner to put an identifier only if > it is not currently set. This removes an if-check in all classes that share a > design approach of assessing a uniqueId, such as request id, etc. > {noformat} > if(!ThreadContext.containsKey("uniqueId")) { > ThreadContext.put("uniqueId", generateUniqueId()); > } > {noformat} > Proposed: > {noformat} > ThreadContext.putIfNull("uniqueId", generateUniqueId()); > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)