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

Ability to disable (date) lookup completely, compatibility issues with other libraries like Camel

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 2.7
    • Lookups

    Description

      (see here for some details )

      At the moment it is not possible to log stuff like this:

      log.info("${date:now:buhu}");
      

      ("ERROR Invalid date format: "now:yyyyMMdd-HHmmss", using default java.lang.IllegalArgumentException: Illegal pattern character 'n'")

      Because log4j2 tries to change the logged output - want to substitute a date. This is intransparently limiting the logging.
      nobody knows what kind of strings are allowed and what kind of strings will be interpreted by log4j2. But it becomes worse if you use slf4j and switch the logger implementation to log4j2 - it could happen that just switching breaks your code.

      This is a real issue if you use libraries like Apache Camel because camel itself uses strings like

      ${date:now:YYYY...}

      to substitute stuff like file names. see http://camel.apache.org/simple.html
      At the moment camel is logging this stuff on debug (sometime i need it to see if i correctly set up camel) so it is no production issue here. But what about other libraries or the future?

      The only way i see is a switch to disable all kinds of lookups and it should probably off by default.

      Attachments

        Issue Links

          Activity

            People

              ggregory Gary D. Gregory
              dermoritz moritz löser
              Votes:
              3 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: