限制 GroupDocs.Search Java 記錄器的日誌檔案大小
在本指南中,您將 建立自訂 logger 實作,並學習在使用 GroupDocs.Search for Java 時 限制日誌檔案大小。控制日誌增長對於大規模文件索引至關重要,內建的 logger 允許您 設定最大日誌大小、輪替日誌檔案,或切換為 使用 console logger 以即時取得回饋。讓我們從 Maven 設定到執行搜尋查詢,完整示範如何在加入文件索引時使用 logger。
快速回答
- 「限制日誌檔案大小」是什麼意思? 它會限制日誌檔案的最大容量,防止磁碟上無限制增長。
- 哪個 logger 可以限制日誌檔案大小? 內建的
FileLogger接受最大容量參數。 - 如何使用 console logger java? 建立
ConsoleLogger並在IndexSettings上設定它。 - 使用 GroupDocs.Search 是否需要授權? 試用版可供評估;正式環境需購買商業授權。
- 第一步是什麼? 將 GroupDocs.Search 相依性加入您的 Maven 專案。
什麼是限制日誌檔案大小?
限制日誌檔案大小是指設定 logger,使得當檔案達到預先定義的門檻(例如 4 MB)時,停止增長或進行輪替。這可讓您的應用程式儲存空間使用保持可預測,避免效能下降。
為什麼在 GroupDocs.Search 中使用檔案與自訂 logger?
- 可稽核性: 保留索引與搜尋事件的永久紀錄。
- 除錯: 透過精簡的日誌快速定位問題。
- 彈性: 可在永久檔案日誌與即時 console 輸出(
use console logger)之間選擇。
前置條件
- GroupDocs.Search for Java ≥ 25.4。
- JDK 8 或更新版本,IDE(IntelliJ IDEA、Eclipse 等)。
- 基本的 Java 與 Maven 知識。
設定 GroupDocs.Search for Java
使用以下任一方式將函式庫加入專案。
Maven 設定:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
直接下載:
從官方網站下載最新 JAR: GroupDocs.Search for Java releases。
授權取得
透過 licensing page 取得試用或購買正式授權。
如何為 GroupDocs.Search 建立自訂 logger
GroupDocs.Search 允許您插入任何實作 ILogger 介面的類別。透過繼承 FileLogger 或 ConsoleLogger,您可以加入額外行為——例如輪替日誌檔案或將訊息轉發至遠端監控服務。正因如此,許多團隊 建立自訂 logger 以符合其營運需求。
如何使用 File Logger 限制日誌檔案大小
以下為逐步說明,示範如何 設定檔案 logger,使日誌檔案永不超過您指定的大小。
1️⃣ 匯入必要的套件
import com.groupdocs.search.*;
import com.groupdocs.search.common.FileLogger;
2️⃣ 使用 File Logger 設定 Index Settings
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/IndexFolder";
String documentsFolder = Utils.DocumentsPath; // Directory containing documents
String query = "Lorem";
String logPath = "YOUR_OUTPUT_DIRECTORY/Log.txt";
IndexSettings settings = new IndexSettings();
settings.setLogger(new FileLogger(logPath, 4.0)); // 4 MB max size → limits log file size
3️⃣ 建立或載入 Index
Index index = new Index(indexFolder, settings);
4️⃣ 將文件加入 Index
index.add(documentsFolder);
5️⃣ 執行搜尋查詢
SearchResult result = index.search(query);
重點: FileLogger 建構子第二個參數(4.0)即為 設定最大日誌大小(單位為 MB),直接滿足 限制日誌檔案大小 的需求。
如何使用 console logger java
如果您希望在終端機即時取得回饋,只需將檔案 logger 換成 console logger。
1️⃣ 匯入 Console Logger
import com.groupdocs.search.*;
import com.groupdocs.search.common.ConsoleLogger;
2️⃣ 使用 Console Logger 設定 Index Settings
String indexFolder = "YOUR_DOCUMENT_DIRECTORY/CustomLoggerIndexFolder";
String documentsFolder = Utils.DocumentsPath; // Directory containing documents
String query = "Lorem";
IndexSettings settings = new IndexSettings();
settings.setLogger(new ConsoleLogger()); // use console logger java
3️⃣ 建立或載入 Index
Index index = new Index(indexFolder, settings);
4️⃣ 加入文件並執行搜尋
index.add(documentsFolder);
SearchResult result = index.search(query);
小技巧: console logger 在開發階段非常理想,因為它會即時印出每筆日誌,協助您驗證索引與搜尋的行為是否如預期。
實務應用
- 文件管理系統: 為每個被索引的文件保留稽核追蹤。
- 企業搜尋引擎: 即時監控查詢效能與錯誤率。
- 法律與合規軟體: 記錄搜尋關鍵字以供法規報告使用。
效能考量
- 日誌大小: 透過 設定最大日誌大小,避免過度磁碟使用導致應用程式變慢。
- 非同步記錄: 若需更高吞吐量,可考慮將 logger 包裝於非同步佇列(本指南未涵蓋)。
- 記憶體管理: 當
Index物件不再使用時釋放,以降低 JVM 記憶體佔用。
常見問題與解決方案
- 日誌路徑無法存取: 確認目錄已存在且應用程式具備寫入權限。
- logger 未觸發: 確保在建立
Index物件 之前 呼叫settings.setLogger(...)。 - console 輸出缺失: 確認您是在能顯示
System.out的終端機執行程式。
常見問答
Q: FileLogger 的第二個參數控制什麼?
A: 它設定日誌檔案的最大容量(單位 MB),讓您 設定最大日誌大小。
Q: 我可以同時使用檔案與 console logger 嗎?
A: 可以,透過自訂 logger 同時將訊息轉發至兩個目的地。
Q: 如何在初始建立之後再加入文件到索引?
A: 隨時呼叫 index.add(pathToNewDocs);logger 會記錄此操作。
Q: ConsoleLogger 是否具備執行緒安全性?
A: 它直接寫入 System.out,而 System.out 由 JVM 同步處理,對大多數情境而言是安全的。
Q: 限制日誌檔案大小會影響資訊儲存量嗎?
A: 當達到大小上限時,新的條目可能被捨棄或依 logger 實作 輪替日誌檔案。
資源
最後更新: 2026-02-24
測試環境: GroupDocs.Search for Java 25.4
作者: GroupDocs