登录 - 如何判断 AsyncAppender 的队列已满并开始丢弃事件?



是否有一种方法可以知道logback因为队列已满而丢弃日志事件?它被记录在什么地方了吗?

没有直接的方法。

Appender静默丢弃事件:

AsyncAppenderBase.java

@Override
protected void append(E eventObject) {
if (isQueueBelowDiscardingThreshold() && isDiscardable(eventObject)) {
return;
}
preprocess(eventObject);
put(eventObject);
}

但是,您可以通过扩展AsyncAppenderBaseAsyncAppender并使用自定义逻辑覆盖append方法来创建自己的appender。

最新更新