Colin Zhang created LOG4J2-2970:
-----------------------------------

             Summary: Adding String return type of each log method
                 Key: LOG4J2-2970
                 URL: https://issues.apache.org/jira/browse/LOG4J2-2970
             Project: Log4j 2
          Issue Type: New Feature
          Components: API
    Affects Versions: 2.13.3
            Reporter: Colin Zhang


In many industry system,  we need to log the error in the log and then throw a 
new exception with the same message. The logger will populate the message with 
markers and variables.

But we need to manually populated it again by string + again when construct the 
exception message. This is an anti-pattern.

Please take below snippet as example:

 
{quote}
{code:java}
// code placeholder
{code}
log.error("The number of records is {} which exceed the threshold {}",  num, 
threshold);

throw new ValidationException("The number of record is " + num + " which exceed 
the threshold " + threshold);
{quote}
This is really bad since all the logging API are void.

If the API can return populated message, the code would turn into this:
{quote}
{code:java}
// code placeholder
{code}
String error = log.error("The number of records is {} which exceed the 
threshold {}",  num, threshold);

throw new ValidationException(error);
{quote}
 

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to