Class LocalFileJournal

java.lang.Object
io.leandev.appfuse.file.local.LocalFileJournal
All Implemented Interfaces:
FileJournal

public class LocalFileJournal extends Object implements FileJournal

本地檔案系統的 FileJournal 實作(自訂 TSV 格式,append-only)

日誌與檔案存於同一介質、同一失敗域。寫入佈局為:

{basePath}/journal/{partition}/{yyyy-MM-dd}.log

本地檔案系統支援原子 append,故同一天的事件累積於單一 .log 檔(每行一筆,格式見 JournalLineCodec)。寫入採 best-effort:失敗只記 log、不中斷業務流程。

上述檔名僅是寫入策略,不是讀取格式限制。readEntries(String) 會讀取 partition 目錄下的所有 一般檔案,並逐行交由 JournalLineCodec 解析,因此也能讀取 SftpFileJournal 寫入的「一筆一檔」journal。雙向互讀的前提是 Local 與 SFTP 指向同一個實體 journal root。