IRONSOFTWAREHOME

How to use Custom Logging in C#

Curtis Chau
Curtis Chau
Updated: 2026年1月11日

C# 的自訂記錄功能讓您能夠實作一套量身打造的記錄系統,用以擷取應用程式專屬的事件與訊息。 透過 IronPDF,您可以將所有 PDF 處理日誌重定向至自訂日誌記錄器,方法是將 LoggingMode 設定為 Custom,並指派您的日誌記錄器實作。 此功能讓您能夠將 IronPDF 的詳細記錄輸出整合至現有的記錄基礎架構中,無論您使用的是 NLog、Serilog、log4net 還是自訂解決方案。

當您需要集中管理來自多個元件的日誌、套用自訂格式、依嚴重性等級進行篩選,或將日誌路由至特定目的地(例如檔案、資料庫或監控服務)時,自訂日誌記錄功能便顯得格外重要。 透過 IronPDF 實作自訂記錄功能,您將能完全掌控應用程式中 PDF 生成與處理事件的追蹤方式。

快速入門:使用 IronPDF 實作自訂記錄

從使用 IronPDF 在 C# 中進行自訂記錄開始。 本指南說明如何將 LoggingMode 設定為 Custom,並將其與您的記錄器類別連結。 將 IronPDF 的訊息傳送至您的自訂記錄器,以便監控與管理應用程式日誌。 設定過程簡單明瞭,並能強化您應用程式的記錄功能。 如需 IronPDF 功能的完整概覽,請參閱我們的《快速入門指南》

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2Copy and run this code snippet.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
    C#
  3. 3Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer

如何實作自訂記錄範例?

若要使用自訂記錄功能,請將 LoggingMode 屬性變更為 LoggingModes.Custom。 接著將 CustomLogger 屬性指派給您的自訂記錄器類別。 這為與各種記錄框架的整合提供了靈活性,並能在您的應用程式中維持一致的記錄模式。

此實作所需的設定極為簡便。完成設定後,所有 IronPDF 操作——包括 HTML 轉 PDF、PDF 處理及渲染——都會自動透過您的自訂記錄器傳送日誌訊息。 此整合功能可確保您能擷取 PDF 處理作業的關鍵資訊。

為何應使用 IronPDF 的自訂記錄功能?

IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");

IronPDF 的日誌將導向自訂日誌記錄器物件。 這些訊息與 IronPDF 日誌記錄器中的內容完全相同; 它們會被傳送至自訂記錄器。 自訂記錄器實作決定了訊息的處理方式。 請參考以下自訂記錄器類別的範例。

自訂記錄功能為生產環境應用程式帶來多項優勢:

  • 集中式日誌管理:將 IronPDF 日誌與您現有的日誌記錄基礎架構整合
  • 強化除錯功能:擷取 PDF 操作的詳細資訊以利疑難排解
  • 效能監控:追蹤渲染時間與資源使用狀況
  • 錯誤追蹤:自動擷取並回報 PDF 生成失敗的情況
  • 合規性:在受監管產業中,須針對文件生成流程維持稽核追蹤紀錄

對於需要異步處理的應用程式,自訂記錄功能有助於追蹤並行 PDF 操作,並識別潛在的瓶頸。

自訂記錄器類別的樣貌為何?

public class CustomLoggerClass : ILogger
{
    private readonly string categoryName;

    public CustomLoggerClass(string categoryName)
    {
        this.categoryName = categoryName;
    }

    public IDisposable BeginScope<TState>(TState state)
    {
        return null;
    }

    public bool IsEnabled(LogLevel logLevel)
    {
        return true;
    }

    public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
    {
        if (!IsEnabled(logLevel))
        {
            return;
        }

        // Implement your custom logging logic here.
        string logMessage = formatter(state, exception);

        // You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
        // For example, you can write it to a file, console, or another destination.

        // Example: Writing to the console
        Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}");
    }
}

此實作遵循標準的 Microsoft.Extensions.Logging.ILogger 介面,使其與 .NET Standard 記錄系統生態圈相容。 Logger 類別包含:

  • 類別名稱:有助於識別日誌訊息的來源
  • 日誌等級篩選:控制要擷取哪些嚴重性等級
  • 彈性輸出:將日誌導向任何目的地(主控台、檔案、資料庫等)
  • 例外處理:正確格式化並記錄例外詳細資訊
  • 狀態管理:支援使用 BeginScope 的結構化記錄

針對進階情境,請探索會影響日誌輸出的渲染選項,特別是在處理複雜的 HTML 轉換,或使用 Chrome 渲染引擎時。

自訂日誌輸出會是什麼樣子?

在此範例中,日誌訊息前會附加額外資訊。

Visual Studio 除錯器主控台顯示 IronPDF 部署日誌,內容包含 Chrome 客戶端初始化及函式庫載入過程

控制台輸出展示了自訂記錄功能如何提供關於 IronPDF 內部運作的詳細資訊。 您可以查看:

  • Chrome 客戶端初始化步驟
  • 建立部署候選方案
  • 原生函式庫載入順序
  • 組件部署成功的確認訊息

此層級的細節對於除錯 PDF 生成問題或優化效能而言極為重要。 結構化的格式便於透過程式碼解析日誌,或與日誌分析工具整合。

我最喜歡的程式庫是IronPDF。它允許快速高效地操作PDF文件。它還有許多有價值的功能,例如導出到PDF/A格式和數位簽署PDF文件。

Milan Jovanovic

Microsoft MVP

查看案例研究

IronOCR意味著我們每年可以從手動處理中節省$40,000,同時提高生產力,釋放資源以進行高影響的任務。我會強烈推薦它。

Brent Matzelle

首席技術官,OPYN

查看案例研究

IronSuite在我們的運營中扮演著至關重要的角色。這些工具增加了包括建立平面圖和改善庫存管理在內的業務效率。

David Jones

首席軟體工程師,Agorus Build

查看案例研究

自訂記錄實作的最佳實踐

在使用 IronPDF 實作自訂記錄功能時,請參考以下最佳實務:

  1. 使用適當的日誌等級:設定您的日誌記錄器,以擷取適當的詳細程度,同時避免佔用過多日誌儲存空間
  2. 包含上下文資訊:新增請求 ID、使用者資訊或交易詳情,以關聯 PDF 操作
  3. 處理敏感資料:確保您的記錄器不會洩露 PDF 內容中的機密資訊
  4. 監控效能:追蹤 PDF 生成時間,以找出優化機會
  5. 設定警示:針對重大錯誤或效能下降的情況設定通知

在生產環境部署時,特別是使用授權金鑰的情況下,完善的記錄功能能確保運作順暢並快速解決問題。

常見記錄問題的疑難排解

若您在使用自訂記錄功能時遇到問題:

  • 請確認您的記錄器已正確實作 ILogger 介面
  • 請確認在執行任何 IronPDF 操作之前,已設定 LoggingMode
  • 請確保您的記錄器具備執行緒安全性,以支援並行操作
  • 若需寫入檔案或外部系統,請審查日誌權限

如需更多疑難排解資源,請參閱我們的疑難排解指南,或查閱 API 參考文件以獲取有關記錄屬性與方法的詳細說明。

準備好探索更多可能性了嗎? 請點此查看我們的教學頁面:其他功能

Frequently Asked Questions

C# 中的自訂記錄功能是什麼?它如何與 PDF 處理配合運作?

透過 IronPDF 在 C# 中進行自訂記錄,可讓您實作一套量身打造的記錄系統,用以擷取 PDF 處理事件與訊息。只要將 LoggingMode 設定為 Custom 並指定您的記錄器實作,IronPDF 便會將所有 PDF 產生與處理的記錄重定向至您的自訂記錄器,從而實現與 NLog、Serilog 或 log4net 等現有記錄基礎架構的整合。

如何啟用 PDF 操作的自訂記錄功能?

若要啟用 IronPDF 的自訂記錄功能,請將 IronSoftware.Logger.LoggingMode 設定為 LoggingModes.Custom,並將您的自訂記錄器類別指派給 IronSoftware.Logger.CustomLogger。設定完成後,所有 IronPDF 操作(包括 HTML 轉 PDF 及 PDF 處理)都會自動透過您的自訂記錄器傳送記錄訊息。

實作自訂日誌記錄功能來生成 PDF 有哪些好處?

IronPDF 的自訂記錄功能可讓您完全掌控 PDF 處理事件的追蹤方式。它能協助您集中管理來自多個元件的記錄、套用自訂格式、依嚴重性等級進行篩選,並將記錄傳送至特定目的地(例如檔案、資料庫或監控服務),從而強化應用程式的記錄功能。

我能否將 PDF 處理日誌與現有的日誌記錄框架整合?

是的,IronPDF 的自訂記錄功能可與常見的記錄框架(包括 NLog、Serilog、log4net 或任何自訂記錄解決方案)無縫整合。這確保了應用程式中記錄模式的一致性,同時能擷取 PDF 處理操作的關鍵資訊。

實作自訂記錄功能的最低限度工作流程為何?

最簡化的工作流程包含 5 個步驟:從 NuGet 下載 IronPDF,將 LoggingMode 設定為 LoggingModes.Custom,將 CustomLogger 指派給您的自訂記錄器物件,所有記錄訊息便會轉發至您的自訂記錄器。最後,輸出記錄訊息以檢視 IronPDF 操作的記錄。

Curtis Chau
Technical Writer

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.

...
Read More

準備開始了嗎?

Nuget Downloads 20,389,208版本:2026.7剛剛發布

立即獲取免費

立即獲取 30天試用金鑰

bullet_checked無需信用卡或註冊帳號
bullet_test在生產
環境中進行測試,且不顯示浮水印
bullet_calendar30 天全
功能產品
bullet_support試用期間提供 24/5 技術
支援
立即獲取您的免費30天試用密鑰
不需要信用卡或建立賬戶

免費試用IronPDF

5分鐘內設定完成

C# PDF DLL

下載DLL

立即下載

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"
C# 用於PDF的NuGet程式庫

使用NuGet安裝

                  Install-Package IronPdf
                
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝

授權從$999

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰

bullet_checked無需信用卡或建立帳號
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge related to IronPDF Product Demo

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立