You are viewing a plain text version of this content. The canonical link for it is here.
Posted to log4j-dev@logging.apache.org by "Joel Berta (JIRA)" <ji...@apache.org> on 2016/09/08 06:45:20 UTC

[jira] [Created] (LOG4J2-1570) Logging with a lambda expression with a method call that also logs causes logs within method call to reference line num and method name as parent method

Joel Berta created LOG4J2-1570:
----------------------------------

             Summary: Logging with a lambda expression with a method call that also logs causes logs within method call to reference line num and method name as parent method
                 Key: LOG4J2-1570
                 URL: https://issues.apache.org/jira/browse/LOG4J2-1570
             Project: Log4j 2
          Issue Type: Bug
          Components: API
    Affects Versions: 2.6.2
            Reporter: Joel Berta
            Priority: Minor


While logging a message using lambda expressions. If i call a method within the log message (i.e logger.info(() -> "foo" +bar()) which also logs messages, those logs within the called method will reference the line number and method name of the method which invoked it.

Running the following code demonstrates this issue:

{code:title=TestingLogging.java|borderStyle=solid}
 private static final Logger LOGGER = LogManager.getLogger(TestingLogging.class);

    public static String foo(){
        LOGGER.info("bar");
        return "foo";
    }

    public static void main(String[] args){
        System.out.println("correct method reference: ");
        LOGGER.info(foo());

        System.out.println("\nincorrect method reference: ");

        // causes logging in foo to reference
        // this line number and method (main)
        LOGGER.info(() -> foo());
    }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: log4j-dev-unsubscribe@logging.apache.org
For additional commands, e-mail: log4j-dev-help@logging.apache.org