Uploaded image for project: 'Log4j 2'
  1. Log4j 2
  2. LOG4J2-599

Support lambda functions (or similar) for log message parameters

    XMLWordPrintableJSON

Details

    • Brainstorming
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 2.4
    • Core

    Description

      It would be nice if we could support 0-param lambda functions (or the equivalent: interfaces with a single empty-parameter message call), or more simply, allow Runnables (or something similar) to be passed which will be dynamically executed if the log message is enabled.

      The use case here is that although string construction of the log message is a performance issue that is already solved quite well, the problem of adding in information to the log message that makes other calculations still needs to be wrapped in an if check.

      I'm not sure if it'd be best to just use Runnable, or create a new interface, or try to emulate how Java 1.8 lambdas work via an interface with a single method defined. The details here would still need to be fleshed out, but I think this sort of feature could be rather handy (especially in a Java 1.8+ environment, or in Groovy/Scala/etc.).

      Attachments

        Issue Links

          Activity

            People

              rpopma Remko Popma
              mattsicker Matt Sicker
              Votes:
              1 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: