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

Provide shorter and more intuitive way to switch on Log4j internal debug logging

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.8
    • 2.9.0
    • Configurators
    • None

    Description

      People find it difficult to troubleshoot Log4j 2 configuration issues. Many people don't know what the "status" attribute is for at the beginning of the configuration:

      <Configuration status="warn"> ...
      

      In addition, the above setting does not take effect until the configuration file is found. If users have trouble making Log4j 2 find their configuration file, the above does not help.

      In such cases, users can enable internal status logging by setting system property org.apache.logging.log4j.simplelog.StatusLogger.level to TRACE.

      This is problematic because:

      • It is not well-known (documented in the FAQ and on the configuration page but many people don't know about this feature)
      • The name is a bit... lengthy
      • Apparently people don't intuitively grasp that "status logging" means the internal log4j 2 debug logging facility.
      • It is confusing that there are two phases (before config file found and after), and the status logger level can be different and needs to be specified separately

      I propose we add a short, intuitive system property that results in all internal Log4j 2 status logging to be printed to the console. When set, this property should even override the configuration status attribute in my opinion.

      Something like -Dlog4j2.debug (without even requiring a value) would be good, but I'm open to any suggestions.

      Attachments

        Activity

          People

            rpopma Remko Popma
            rpopma Remko Popma
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: