是否有一种方法可以知道logback因为队列已满而丢弃日志事件?它被记录在什么地方了吗?
没有直接的方法。
Appender静默丢弃事件:
AsyncAppenderBase.java
@Override
protected void append(E eventObject) {
if (isQueueBelowDiscardingThreshold() && isDiscardable(eventObject)) {
return;
}
preprocess(eventObject);
put(eventObject);
}
但是,您可以通过扩展AsyncAppenderBase
或AsyncAppender
并使用自定义逻辑覆盖append
方法来创建自己的appender。