Я использую log4j 2 с MongoDBAppender в webapp (спецификация сервлета 2.5).Log4j2 в webapp: поток MongoCleaner создает утечки памяти
Здесь web.xml:
<listener>
<listener-class>org.apache.logging.log4j.web.Log4jServletContextListener</listener-class>
</listener>
<filter>
<filter-name>log4jServletFilter</filter-name>
<filter-class>org.apache.logging.log4j.web.Log4jServletFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>log4jServletFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
<dispatcher>ERROR</dispatcher>
<dispatcher>ASYNC</dispatcher><!-- Servlet 3.0 w/ disabled auto-initialization
only; not supported in 2.5 -->
</filter-mapping>
Здесь конфигурации log4j2:
<Configuration status="warn">
<Properties>
<Property name="MongoDbServer">$${jndi:MongoDB.serverAddress.1.host}:$${jndi:MongoDB.serverAddress.1.port}</Property>
<Property name="MongoDbPassword">$${jndi:MongoDB.password}</Property>
</Properties>
<Appenders>
<NoSql name="databaseAppender">
<MongoDb databaseName="LOGS" collectionName="test"
server="${MongoDbServer}" username="LOGS" password="${MongoDbPassword}" />
</NoSql>
<Async name="Async">
<AppenderRef ref="databaseAppender" />
</Async>
</Appenders>
<Loggers>
<Root level="info">
<AppenderRef ref="Async" />
</Root>
</Loggers>
</Configuration>
Когда я undeply на веб-приложение, появляется этот журнал ошибок:
SEVERE: A web application appears to have started a thread named [MongoCleaner665622824] but has failed to stop it. This is very likely to create a memory leak.
Любое предложение?
Спасибо.
Выполнено, создана проблема https://issues.apache.org/jira/browse/LOG4J2-817. – fmerighi