Class ServerEventLog

java.lang.Object
server.gui.ServerEventLog

public final class ServerEventLog extends Object
伺服器嚴重事件的記憶體環狀緩衝(固定容量、執行緒安全)。

由兩處寫入:RingBufferAppender(WARN/ERROR 日誌、封包異常)與 client.anticheat.CheatTracker(反作弊偵測,經 anticheat(String))。 由 GuiApiServer 讀取為快照輸出給 GUI 前端。

緩衝滿(CAPACITY)時丟棄最舊一筆。所有操作以本物件為鎖同步,確保 Netty 工作執行緒、CheatTimer 執行緒、HTTP 工作執行緒並發存取的一致性。

  • Method Details

    • getInstance

      public static ServerEventLog getInstance()
      取得單例。
    • add

      public void add(long time, String level, String category, String message)
      推入一筆事件(緩衝滿時丟棄最舊)。
      Parameters:
      time - 發生時間(epoch 毫秒)
      level - 嚴重度
      category - 分類
      message - 人類可讀訊息
    • anticheat

      public void anticheat(String message)
      反作弊偵測事件的便捷入口(分類固定為「反外掛」、嚴重度「DANGER」)。
    • snapshot

      public List<server.gui.ServerEvent> snapshot(int limit)
      取最近事件的快照(最新者在前)。
      Parameters:
      limit - 最多回傳筆數(<= 0 表示全部)
      Returns:
      不可變的事件清單副本(不為 null