Logback - 可以获取 AsyncAppender 当前队列的大小吗?

问题描述 投票:0回答:1

是否可以获取Logback的AsyncAppender当前的队列大小?

这是我们配置的相关部分:

<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
  <queueSize>1000</queueSize>
  <discardingThreshold>0</discardingThreshold>
  <appender-ref ref="FILE" />
</appender>
logback
1个回答
0
投票

如果附加程序附加到您的根记录器,类似这样的事情应该可以工作:

var root = (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
var appender = root.getAppender("ASYNC");
if (appender instanceof AsyncAppenderBase<ILoggingEvent> asyncAppender) {
    int currentQueueSize = asyncAppender.getNumberOfElementsInQueue();
}
© www.soinside.com 2019 - 2024. All rights reserved.