BurstFilter spam logging with ClassNotFoundException:com.atlassian.confluence.impl.logging.filter.BurstFilter for Confluence 8.4.1 and later

XMLWordPrintable

    • 22
    • Severity 3 - Minor
    • 2

      Issue Summary

      This is reproducible on the Data Center: yes
      Confluence 8.4.1 and later

      The Burst Filter was introduced in the log4j.properties file of Confluence version 8.4.1 and later. Below are the details comparing 8.4.0 to 8.4.1 (or above):

       #####################################################
       # Health check logging 8.4.0
      #####################################################
      
      log4j.appender.healthCheck=com.atlassian.confluence.logging.ConfluenceHomeLogAppender
      log4j.appender.healthCheck.LogFileName=atlassian-confluence-health-checks.log
      log4j.appender.healthCheck.layout=com.atlassian.confluence.util.PatternLayoutWithContext
      log4j.appender.healthCheck.layout.ConversionPattern=%d %p [%t] [%c{4}] %M %m%n
      log4j.logger.com.atlassian.confluence.impl.health=INFO, healthCheck 
      #####################################################
       # Health check logging 8.4.1
      #####################################################
      
      log4j.appender.healthCheck=com.atlassian.confluence.logging.ConfluenceHomeLogAppender
      log4j.appender.healthCheck.LogFileName=atlassian-confluence-health-checks.log
      log4j.appender.healthCheck.layout=com.atlassian.confluence.util.PatternLayoutWithContext
      log4j.appender.healthCheck.layout.ConversionPattern=%d %p [%t] [%c{4}] %M %m%n
      log4j.logger.com.atlassian.confluence.impl.health=INFO, healthCheck
      
      # Appender that burst limits log messages
      log4j.appender.burstFilterAppender=com.atlassian.confluence.logging.ConfluenceHomeLogAppender
      log4j.appender.burstFilterAppender.Threshold=ALLlog4j.appender.burstFilterAppender.layout=com.atlassian.confluence.util.PatternLayoutWithContext
      log4j.appender.burstFilterAppender.layout.ConversionPattern=%d %p [%t] [%c\\{4}] %M %m%n
      log4j.appender.burstFilterAppender.filter.1=com.atlassian.confluence.impl.logging.filter.BurstFilter
      log4j.appender.burstFilterAppender.filter.1.Level=WARN
      log4j.appender.burstFilterAppender.filter.1.Rate=0.5
      log4j.appender.burstFilterAppender.filter.1.MaxBurst=5
      
      log4j.logger.com.atlassian.analytics.client.listener.ProductEventListener=WARN, burstFilterAppender
      log4j.additivity.com.atlassian.analytics.client.listener.ProductEventListener=false 

      Steps to Reproduce

      For any fresh installations of Confluence of version 8.4.1 or above or after upgrading to 8.4.1 and later, there is BurstFilter logging in catalina.out file with ClassNotFoundException:com.atlassian.confluence.impl.logging.filter.BurstFilter errors. The system starts without any issues but the logging happens.

      Expected Results

      Confluence will write only useful logs in the catalina.out file.

      Actual Results

      The below exception is thrown in the catalina.out file:

      2023-08-18 08:05:30,383 Catalina-utility-1 ERROR Unable to create Filter com.atlassian.confluence.impl.logging.filter.BurstFilter due to ClassNotFoundException:com.atlassian.confluence.impl.logging.filter.BurstFilter java.lang.ClassNotFoundException: com.atlassian.confluence.impl.logging.filter.BurstFilterat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1412)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1220) 

      Workaround

      • We can ignore those messages as this is a common invalid error for any fresh installation or upgrade for 8.4.1 and later.
      • To get rid of these messages, comment out the respective section on the /opt/atlassian/confluence/confluence/WEB-INF/classes/log4j.properties file, as shown below.
      # Appender that burst limits log messages
      # log4j.appender.burstFilterAppender=com.atlassian.confluence.logging.ConfluenceHomeLogAppender
      # log4j.appender.burstFilterAppender.Threshold=ALL
      # log4j.appender.burstFilterAppender.layout=com.atlassian.confluence.util.PatternLayoutWithContext
      # log4j.appender.burstFilterAppender.layout.ConversionPattern=%d %p [%t] [%c{4}] %M %m%n
      # log4j.appender.burstFilterAppender.filter.1=com.atlassian.confluence.impl.logging.filter.BurstFilter
      # log4j.appender.burstFilterAppender.filter.1.Level=WARN
      # log4j.appender.burstFilterAppender.filter.1.Rate=0.5
      # log4j.appender.burstFilterAppender.filter.1.MaxBurst=5
      # log4j.logger.com.atlassian.analytics.client.listener.ProductEventListener=WARN, burstFilterAppender
      # log4j.additivity.com.atlassian.analytics.client.listener.ProductEventListener=false 

       

            Assignee:
            Unassigned
            Reporter:
            Pushpanjali Shivaramu
            Votes:
            4 Vote for this issue
            Watchers:
            11 Start watching this issue

              Created:
              Updated: