Omer U created LOG4J2-3396:
------------------------------
Summary: ERROR Recursive call to appender mongodb with spring boot
root logger
Key: LOG4J2-3396
URL: https://issues.apache.org/jira/browse/LOG4J2-3396
Project: Log4j 2
Issue Type: Question
Components: MongoDB
Affects Versions: 2.17.1
Reporter: Omer U
If mongodb4 logger is used as root logger in basic spring boot rest
application, it causes some sort of recursion error. And stalls startup.
below causes recursive call error
{code:xml}
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="mongodb" />
</Root>
{code}
while following does not produce error
{code:xml}
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
</Root>
<Logger name="com.example" level="TRACE">
<AppenderRef ref="mongodb" >
</Logger>
<Logger name="io.grpc" level="INFO"/>
</Loggers>
{code}
{noformat}
2022-02-07 23:35:43,487 cluster-ClusterId{value='620182632ff6a504abdb6699',
description='null'}-localhost:27017 ERROR Recursive call to appender mongodb
23:36:13.481 [st:27017] INFO o.m.d.cluster - Cluster description not yet
available. Waiting for 30000 ms before timing out
2022-02-07 23:36:13,480 cluster-rtt-ClusterId{value='620182632ff6a504abdb6697',
description='null'}-localhost:27017 ERROR Unable to write to database
[noSqlManager{ description=mongodb, bufferSize=0, provider=MongoDb4Provider
[connectionString=mongodb://localhost:27017/tombolog.mongo4test,
collectionSize=1073741824, isCapped=true,
mongoClient=com.mongodb.client.internal.MongoClientImpl@2f67a4d3,
mongoDatabase=com.mongodb.client.internal.MongoDatabaseImpl@5e3f861] }] for
appender [mongodb].
org.apache.logging.log4j.core.appender.AppenderLoggingException: Failed to
write log event to MongoDB due to error: Timed out after 30000 ms while waiting
to connect. Client view of cluster state is {type=UNKNOWN,
servers=[{address=localhost:27017, type=UNKNOWN, state=CONNECTING}]
{noformat}
{code:xml}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%.8t] %-5level %logger{1.} -
%msg%n"/>
</Console>
<NoSql name="mongodb">
<MongoDb4 capped="true" collectionSize="1073741824"
connection="${env:MONGO_LOG_URI:-mongodb://localhost:27017/log.mongo4test}" />
</NoSql>
</Appenders>
<Loggers>
<Root level="INFO">
<AppenderRef ref="Console" />
<AppenderRef ref="mongodb" />
</Root>
<Logger name="com.example" level="TRACE"/>
<Logger name="io.grpc" level="INFO"/>
</Loggers>
</Configuration>
{code}
is this normal behavior? I have tried to reproduce this without spring boot
without any success.
Any ideas?
--
This message was sent by Atlassian Jira
(v8.20.1#820001)