-
Bug
-
Resolution: Unresolved
-
Medium
-
None
-
8.5.0, 8.4.1, 8.4.2, 8.5.2
-
22
-
Severity 3 - Minor
-
6
-
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