Confluence Data Center service does not start after upgrade

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

After upgrading your Confluence installation to Confluence 7.15.0 or higher, Confluence service does not start anymore

Environment

Confluence 7.15.0 or higher. 

Diagnosis

The below error is observed in the atlassian-confluence.log

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Standalone].StandardHost[localhost].StandardContext[]] at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:198) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: Filter mapping specifies an unknown filter name [AccessLogFilter] at org.apache.catalina.core.StandardContext.validateFilterMap(StandardContext.java:3067) at org.apache.catalina.core.StandardContext.addFilterMap(StandardContext.java:3029) at org.apache.catalina.startup.ContextConfig.configureContext(ContextConfig.java:1453) at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1335) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:986) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:303) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5135) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

Cause

This error implies that there is a custom logging for an "AccessLogFilter" entry enabled in either CONFLUENCE_INSTALL/confluence/WEB-INF/classes/log4j.properties or CONFLUENCE_INSTALL/confluence/WEB-INF/web.xml files.

From Confluence 7.15 onwards the filter name for the AccessLogFilter was removed from the web.xml file. Hence, the AccessLogFilter in the web.xml that was copied from a previous installation causes this issue. 

The suggested method for access logging (which comes enabled out of the box from Confluence 7.11) is described in the following knowledge base article: Tomcat access logging

Solution

Follow the steps below to resolve the situation: 

  1. Stop Confluence

  2. Search by the AccessLogFilter entry in the CONFLUENCE_INSTALL/confluence/WEB-INF/classes/log4j.properties or CONFLUENCE_INSTALL/confluence/WEB-INF/web.xml files.

  3. Edit the file and comment out the AccessLogFilter entry. 

  4. Start Confluence

Updated on March 11, 2025

Still need help?

The Atlassian Community is here for you.