Class RingBufferAppender
java.lang.Object
ch.qos.logback.core.spi.ContextAwareBase
ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
server.gui.RingBufferAppender
- All Implemented Interfaces:
ch.qos.logback.core.Appender<ch.qos.logback.classic.spi.ILoggingEvent>, ch.qos.logback.core.spi.ContextAware, ch.qos.logback.core.spi.FilterAttachable<ch.qos.logback.classic.spi.ILoggingEvent>, ch.qos.logback.core.spi.LifeCycle
public final class RingBufferAppender
extends ch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
自訂 logback Appender:把 WARN/ERROR 等級的日誌事件擷取進
ServerEventLog
的記憶體環狀緩衝,供 GUI 管理控制台「最近事件」面板讀取。
於 src/logback.xml 以 <appender class="server.gui.RingBufferAppender">
宣告並掛在 root 下,另以 ThresholdFilter level=WARN 僅放行 WARN 以上。
此 Appender 不觸碰資料庫、不阻塞 logging 執行緒(僅一次 synchronized 入列)。
分類推導:訊息或 logger 來自封包處理(MapleServerHandler / 含「數據包」)→
「封包異常」;其餘 ERROR → 「系統錯誤」;WARN → 「警告」。反作弊偵測不經 SLF4J,
由 CheatTracker 直接寫入 ServerEventLog.anticheat(String),不在此處。
-
Field Summary
Fields inherited from class ch.qos.logback.core.AppenderBase
name, startedFields inherited from class ch.qos.logback.core.spi.ContextAwareBase
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappend(ch.qos.logback.classic.spi.ILoggingEvent event) Methods inherited from class ch.qos.logback.core.AppenderBase
addFilter, clearAllFilters, doAppend, getCopyOfAttachedFiltersList, getFilterChainDecision, getName, isStarted, setName, start, stop, toStringMethods inherited from class ch.qos.logback.core.spi.ContextAwareBase
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, getDeclaredOrigin, getStatusManager, setContextMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface ch.qos.logback.core.spi.ContextAware
addError, addError, addInfo, addInfo, addStatus, addWarn, addWarn, getContext, setContext
-
Constructor Details
-
RingBufferAppender
public RingBufferAppender()
-
-
Method Details
-
append
protected void append(ch.qos.logback.classic.spi.ILoggingEvent event) - Specified by:
appendin classch.qos.logback.core.AppenderBase<ch.qos.logback.classic.spi.ILoggingEvent>
-