在 GroupDocs.Redaction for .NET 中實作自訂記錄器 C#

有效管理文件遮蔽至關重要,尤其在處理敏感資訊時更是如此。在本指南中,您將學習 如何在 GroupDocs.Redaction for .NET 中實作自訂記錄器 C#,讓您全面掌控記錄、錯誤處理與稽核追蹤。完成教學後,您將能捕捉警告、錯誤與資訊訊息,將記錄器整合至現有的 .NET 記錄框架,並在不進行光柵化的情況下儲存已遮蔽的文件。

快速解答

  • 自訂記錄器 C# 有什麼作用? 它在遮蔽過程中捕捉錯誤、警告與資訊訊息,提供可搜尋的稽核追蹤。
  • 哪個函式庫提供 ILogger 介面? GroupDocs.Redaction for .NET 提供 ILogger 介面。
  • 我可以在不進行光柵化的情況下儲存已遮蔽的文件嗎? 可以 – 呼叫 redactor.Save(..., new Options.RasterizationOptions { Enabled = false })。
  • 正式環境使用需要授權嗎? 正式環境需要完整授權;可使用試用授權進行評估。
  • 此方法相容於 .NET Core / .NET 6 以上嗎? 完全相容 – 同一套 API 可在 .NET Framework、.NET Core、.NET 5 及 .NET 6 上運作。

什麼是自訂記錄器 C#?

自訂記錄器 C# 是一個實作 GroupDocs.Redaction 所提供的 ILogger 介面的類別。它允許您將記錄訊息導向任意位置——如主控台、檔案、資料庫或外部監控系統,同時提供對整體遮蔽工作流程的清晰概觀。

為何在 GroupDocs.Redaction 中使用自訂記錄 .NET?

為您的遮蔽流程加上詳細且可搜尋的記錄,以符合監管稽核需求並加速除錯。GroupDocs.Redaction 支援 70 多種輸入與輸出格式,且可在不將整個檔案載入記憶體的情況下處理最多 500 頁的文件,因此設計良好的記錄器幾乎不會增加負擔,同時提供寶貴的可見性。

前置條件

  • 已安裝 GroupDocs.Redaction for .NET(請參閱下方的 Installation 章節)。
  • .NET 開發環境(Visual Studio、VS Code 或 .NET CLI)。
  • 基本的 C# 知識與檔案串流概念。

安裝

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager

Install-Package GroupDocs.Redaction

NuGet Package Manager UI
搜尋 “GroupDocs.Redaction” 並安裝最新版本。

取得授權

  • 免費試用: 使用臨時授權測試 API。
  • 臨時授權: 在有限期間內取得完整功能存取。
  • 購買: 取得永久授權以供正式環境部署。

步驟指南

如何在 .NET Core 中實作自訂記錄器?

將 CustomLogger 類別載入您的 .NET Core 專案,並將其連接至 RedactorSettings。此記錄器在 .NET Framework、.NET 5 與 .NET 6 上的運作方式相同,您可以在所有平台間共用相同程式碼。

步驟 1:定義自訂記錄器類別(記錄警告 C#)

CustomLogger 類別實作 ILogger。
CustomLogger 是使用者自訂的類別,實作 ILogger 介面以捕捉遮蔽事件。

using System;
using GroupDocs.Redaction;

class CustomLogger : ILogger
{
    public bool HasErrors { get; private set; }

    // Log errors encountered during processing.
    public void LogError(string message)
    {
        Console.WriteLine("Error: " + message);
        HasErrors = true;
    }

    // Log warnings that may not be critical but need attention.
    public void LogWarning(string message)
    {
        Console.WriteLine("Warning: " + message);
    }

    // Log informational messages for tracking normal operations.
    public void LogInfo(string message)
    {
        Console.WriteLine("Info: " + message);
    }
}

定義說明: CustomLogger 是 ILogger 介面的使用者自訂實作,用於記錄遮蔽事件。
說明: HasErrors 標誌協助您決定是否繼續處理。這三個方法對應於大多數遮蔽情境中需要的三個記錄層級。

步驟 2:準備檔案路徑並開啟來源文件

string sourceFile = Utils.PrepareOutputDirectory("YOUR_DOCUMENT_DIRECTORY");
string outputFile = Utils.GetOutputFile(sourceFile);

定義說明: Redactor 是 GroupDocs.Redaction 中執行 PDF 文件遮蔽操作的主要類別。
重要性說明: 使用工具方法可保持程式碼整潔,並確保在嘗試 儲存已遮蔽文件 前,輸出資料夾已存在。

步驟 3:在使用自訂記錄器的同時套用遮蔽

using (Stream stream = File.Open(sourceFile, FileMode.Open, FileAccess.ReadWrite))
{
    var logger = new CustomLogger();
    
    using (Redactor redactor = new Redactor(stream, new LoadOptions(), new RedactorSettings(logger)))
    {
        // Apply a redaction to the document.
        redactor.Apply(new DeleteAnnotationRedaction());
        
        if (!logger.HasErrors)
        {
            using (Stream streamOut = File.Open(outputFile, FileMode.OpenOrCreate, FileAccess.ReadWrite))
            {
                // Save changes without rasterizing the output.
                redactor.Save(streamOut, new Options.RasterizationOptions { Enabled = false });
            }
        }
    }
}

直接回答: 遮蔽工作流程從使用 RedactorSettings(logger) 建立 Redactor 實例開始,接著套用遮蔽物件,檢查 logger.HasErrors,最後以停用光柵化的方式呼叫 redactor.Save。此模式確保每個步驟皆被記錄,且僅在未發生錯誤時才持久化乾淨的文件。

說明:

  1. 透過 RedactorSettings(logger) 實例化 Redactor,將您的 CustomLogger 連結進去。
  2. 套用遮蔽後,程式碼會檢查 logger.HasErrors。若未發生錯誤,則儲存文件——示範了在不進行光柵化的情況下 儲存已遮蔽文件 的邏輯。

常見問題與除錯

  • 缺少記錄輸出: 確認每個 Log* 方法皆正確覆寫。
  • 檔案存取例外: 確保應用程式對來源與輸出路徑皆具讀寫權限。
  • 記錄器未連接: RedactorSettings(logger) 參數是必要的,若省略則會停用自訂記錄。

實務應用

  1. 合規報告: 將記錄條目匯出為 CSV 或資料庫,以作為稽核追蹤。
  2. 錯誤追蹤: 透過掃描 LogError 輸出快速定位問題檔案。
  3. 工作流程自動化: 當呼叫 LogWarning 時觸發後續流程(例如通知合規主管)。

效能考量

  • 及時釋放串流 以釋放記憶體,特別是在處理大量批次時。
  • 監控 CPU 與記憶體 使用情況於大量遮蔽時;可考慮平行處理文件,同時注意記錄器的同步問題。
  • 保持更新: 新版 GroupDocs.Redaction 常包含效能最佳化與額外的記錄掛鉤。

結論

透過實作 自訂記錄器 C#,您可深入了解遮蔽流程的每個步驟,讓符合合規標準與除錯變得更簡單。此方法與 GroupDocs.Redaction for .NET 完美結合,且可延伸整合至您已使用的任何 .NET 記錄框架。


常見問答

Q: 使用 GroupDocs.Redaction 的自訂記錄有何目的?
A: 自訂記錄捕捉詳細的遮蔽事件,滿足稽核需求,並透過即時顯示錯誤與警告簡化除錯。

Q: 如何使用自訂記錄器處理錯誤?
A: 在 CustomLogger 類別中實作 LogError;HasErrors 標誌讓您在偵測到關鍵問題時中止處理。

Q: 自訂記錄能整合至其他系統嗎?
A: 可以——透過擴充記錄器方法,將記錄訊息轉發至 CRM、ERP 或集中式監控工具。

Q: 實作自訂記錄時常見的陷阱是什麼?
A: 常見問題包括遺漏方法覆寫、忘記傳入 RedactorSettings(logger),以及檔案權限不足。

Q: 自訂記錄如何提升文件遮蔽工作流程?
A: 詳細的記錄提供即時可見性,簡化除錯,並產生符合 GDPR、HIPAA 等法規要求的稽核追蹤。

資源


最後更新: 2026-10-01
測試環境: GroupDocs.Redaction 23.11 for .NET
作者: GroupDocs


相關教學