In our Prod environment suddenly application got stuck and none of the requests were getting processed So, I took a thread dump of the PID
I see a Log4j is Blocked on Object that is locked by some other thread
Sharing the Parts of threaddump
```"http-nio-8080-exec-21025" #4910868 daemon prio=5 os_prio=0 tid=0x00007f2b3016a000 nid=0x2d87 runnable [0x00007f2b06d9e000]
java.lang.Thread.State: RUNNABLE
at java.io.FileOutputStream.writeBytes(Native Method)
at java.io.FileOutputStream.write(FileOutputStream.java:326)
at org.apache.logging.log4j.core.appender.OutputStreamManager.writeToDestination(OutputStreamManager.java:250)
- eliminated <0x00000000deb28ba8> (a org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
at org.apache.logging.log4j.core.appender.FileManager.writeToDestination(FileManager.java:273)
- eliminated <0x00000000deb28ba8> (a org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.writeToDestination(RollingFileManager.java:240)
- eliminated <0x00000000deb28ba8> (a org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
at org.apache.logging.log4j.core.appender.OutputStreamManager.flushBuffer(OutputStreamManager.java:282)
- eliminated <0x00000000deb28ba8> (a org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
at org.apache.logging.log4j.core.appender.OutputStreamManager.flush(OutputStreamManager.java:291)
- **locked <0x00000000deb28ba8>** (a org.apache.logging.log4j.core.appender.rolling.RollingFileManager)```
```"http-nio-8080-exec-20991" #4899507 daemon prio=5 os_prio=0 tid=0x00007f2b30163000 nid=0x7e98 waiting for monitor entry [0x00007f2a62dcd000]
java.lang.Thread.State: BLOCKED (on object monitor)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.checkRollover(RollingFileManager.java:272)
- **waiting to lock <0x00000000deb28ba8>** (a org.apache.logging.log4j.core.appender.rolling.RollingFileManager)
at org.apache.logging.log4j.core.appender.RollingFileAppender.append(RollingFileAppender.java:311)
at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120) ```
<Console name="Console-Appender" target="SYSTEM_OUT">
<PatternLayout>
<pattern>
[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %c{1} - %msg%n
</pattern>
</PatternLayout>
</Console>
<RollingFile name="RollingFile-Appender" fileName="@log4j2.path@/rbac.log" filePattern="@log4j2.path@/rbac.log.%d{yyyy-MM-dd}">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] [${bundle:application:spring.application.name},%X{X-B3-TraceId},%X{X-B3-SpanId}] %c{1} - %msg%n"/>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy max="100"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="org.springframework" level="info" additivity="false">
<AppenderRef ref="Console-Appender"/>
</Logger>
<Logger name="com.pisp" level="info" additivity="false">
<AppenderRef ref="RollingFile-Appender" level="info"/>
</Logger>
<Root level="info">
<AppenderRef ref="Console-Appender" />
<AppenderRef ref="RollingFile-Appender" />
</Root>
</Loggers>```
> Can Someone Help me fix this issue with Spring Boot Log4j2
Java -8
Spring Boot Version - 2.3.2.RELEASE
spring-boot-starter-log4j2