IRONSOFTWAREHOME
開發者更新

Prism Logging(對於開發者的運行原理)

Jacob Mellor,首席技術官 @ Team Iron
Jacob Mellor
Updated: 2026年4月23日

儘管控制台應用程式缺乏圖形使用者介面,但通常需要健全的日誌機制來追踪錯誤、監控應用程式性能並有效地除錯問題。 Prism.Plugin.Logging是Prism Logging框架的擴展,為.NET應用程式提供全面的日誌解決方案,並支援各種日誌提供者。

在本文中,我們將探討如何使用IronPDF將Prism Logging整合到控制台應用程式中。IronPDF是一個強大的.NET文件處理程式庫。 通過結合這些工具,開發人員可以在他們的控制台應用程式中實現高級的日誌功能,增強維護和故障排除能力。

Prism Logging的介紹

Prism.Plugin.Logging擴展了Prism這個流行的XAML應用框架,提供全面的日誌功能。 Prism.Plugin.Logging支援多個日誌提供者,例如NLog、Serilog和Microsoft.Extensions.Logging,提供靈活性和自定義選項以滿足各種應用需求。

使用Prism日誌的優勢

靈活的日誌配置: Prism.Plugin.Logging允許開發人員無縫配置各種日誌提供者,包括像NLog、Serilog和Microsoft.Extensions.Logging這樣的流行選擇。

**結構化日誌支持:**開發人員可以使用Prism.Plugin.Logging在日誌消息中記錄結構化資料。 此功能尤其在涉及控制台應用模式的情形中有幫助,其中需要記錄包括時間戳、錯誤程式碼或使用者活動等詳細資訊,並將其新增到IronPDF生成的日誌報告中。

如何使用Prism日誌

  1. 建立一個新的C#專案
  2. 安裝Prism日誌包。
  3. 為SyslogLogger建立一個物件,並將配置作為參數傳遞。
  4. 在需要時調用日誌方法,並傳遞日誌消息和日誌等級。
  5. 在結束時銷燬日誌物件。

開始使用Prism日誌

Setting up Prism in C# Projects

將Prism整合到一個C#專案很容易。 使用NuGet,微軟的.NET包管理器以新增Prism是必要的。 這個庫提供了將Prism日誌整合到您的項目中所需的工具和庫。

Prism日誌(對開發人員的工作原理):圖1 - 使用NuGet包管理器管理解決方案來安裝Prism,通過在NuGet包管理器的搜索欄中搜索"Prism.Plugin.Logging.Loggly"選擇專案並點擊安裝按鈕。

在.Dot .NET應用中實現Prism

Prism相容多種Dot .NET應用型別,包括Windows Forms(WinForms)和Windows控制台。 儘管每個框架實現不同,但基本概念始終相同,幫助我們記錄與您應用相關的資料。

在Visual Studio中建立新專案

在Visual Studio應用中選擇文件選單。 點擊"新專案",然後選擇"控制台應用"。

Prism日誌(對開發人員的工作原理):圖2 - 打開Visual Studio並選擇

選擇文件位置後,在指定文字區域中輸入專案名稱。 然後,可以像下面的範例一樣,通過單擊建立按鈕,選擇必要的.NET Framework。

Prism日誌(對開發人員的工作原理):圖3 - 接下來,配置您的專案,指定所需的專案名稱和位置。 為您的專案選擇相應的.NET Framework,然後點擊"建立"按鈕。

選擇的應用程式將決定Visual Studio專案的構建方式。 只需打開program.cs文件即可開始向應用程式新增程式碼並進行構建。 您可以使用Windows,控制台或Web應用程式。

之後就可以新增庫並測試程式碼了。

使用Prism日誌的基本範例

在下面的程式碼範例中,我們初始化了Prism日誌物件,然後逐一新增不同的日誌等級到Prism日誌中,將所有日誌和它們的嚴重性保存到一個列表中。

using Prism.Logging.Syslog;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;

class Program
{
    public class Demo
    {
        public string Name { get; set; }
        public int Age { get; set; }

        // Configure the logger options
        static Options genOptions = new Options
        {
            HostNameOrIp = "127.0.0.1",
            Port = 514,
            AppNameOrTag = "LoggingDemo"
        };

        static SyslogLogger logger = new SyslogLogger(genOptions);
        static IList<LogData> Loglst = new List<LogData>();

        static async Task Main(string[] args)
        {
            MessageLog("Application started.", Prism.Logging.Syslog.Level.Information);
            PerformApplicationLogic();
            MessageLog("Application stopped.", Prism.Logging.Syslog.Level.Information);
        }

        static void PerformApplicationLogic()
        {
            // Example application logic
            Console.WriteLine("Performing application logic...");

            // Simulate error
            try
            {
                throw new Exception("Simulated Exception");
            }
            catch (Exception ex)
            {
                MessageLog($"Error occurred: {ex.Message}", Prism.Logging.Syslog.Level.Error);
            }
        }

        // Logs messages and their levels
        static void MessageLog(string message, Prism.Logging.Syslog.Level level)
        {
            Loglst.Add(new LogData { Message = message, Level = level.ToString() });
            logger.Log(message, level);
        }

        public class LogData
        {
            public string Message { get; set; }
            public string Level { get; set; }
        }

        public class Options : ISyslogOptions
        {
            public string HostNameOrIp { get; set; }
            public int? Port { get; set; }
            public string AppNameOrTag { get; set; }
        }
    }
}

日誌報告是從Prism日誌中生成的。 我們正在使用名為Kiwi Syslog服務管理器的工具來監控Prism日誌。

輸出Prism日誌文件

Prism日誌(對開發人員的工作原理):圖4 - 使用Kiwi Syslog服務管理器工具監控生成的Prism日誌報告。

Prism日誌的操作

可擴展的日誌

Prism.Plugin.Logging的能力擴展了日誌功能,提供更多的功能性和靈活性。 它提供了一系列配置選項來調整日誌等級,日誌目標和其他變數,以滿足您應用的日誌需求。

多重日誌目標

您可以使用Prism.Plugin.Logging將日誌消息路由到多種位置,包括控制台,文件,資料庫和其他日誌服務。 由於這種靈活性,您可以為您的應用需求和環境選擇最佳的日誌目標。

自訂日誌器

使用該插件,您可以實現Prism的ILoggerFacade介面來建構自訂日誌器。 這讓您可以根據應用程式需求或第三方日誌框架構建自訂日誌功能。

使用Prism日誌建立日誌

只需幾行程式碼即可輕鬆建立Prism日誌。 下面是建立日誌的範例。

static Options genOptions = new Options
{
    HostNameOrIp = "127.0.0.1",
    Port = 514,
    AppNameOrTag = "LoggingDemo"
};
static SyslogLogger logger = new SyslogLogger(genOptions);
logger.Log("Sample message", Prism.Logging.Syslog.Level.Information);

整合Prism Logging和IronPDF

同時使用Prism和IronPDF

Prism與IronPDF在C#專案中相結合開啟了一些令人興奮的可能性。 IronPDF是一個將此內容轉換為PDF的絕佳工具,而Prism是處理日誌的好工具。 程式設計師可以利用這種連接建立將項目記錄到自訂設計的PDF文件中的應用程式。

用IronPDF的Prism日誌

通過建立利用Prism日誌的Windows控制台應用程式,使用者可以在您的程式中與日誌進行交互。 此控制應該適合在控制台中留下充足的空間以進行日誌記錄。 新增服務日誌操作和HTTP日誌。

安裝IronPDF

  • 打開Visual Studio專案。

  • 選擇"工具" > "NuGet包管理器" > "包管理器控制台"。

    • 在包管理器控制台中,輸入以下命令並按Enter:

      PM > Install-Package IronPdf

  • 安裝IronPDF的另一種方法是使用解決方案的NuGet包管理器。

    • 在搜索結果中瀏覽IronPDF包,選擇它,然後點擊"安裝"按鈕。 Visual Studio將自動處理下載和安裝。

Prism日誌(對開發人員的工作原理):圖5 - 通過在NuGet包管理器的搜索欄中搜尋

  • NuGet將下載並安裝IronPDF包及專案所需的任何依賴項。
  • 安裝IronPDF後,您就可以將其用於您的專案。

通過NuGet網站安裝

存取NuGet網站的https://www.nuget.org/packages/IronPdf上IronPDF頁面,以了解更多關於IronPDF的功能、相容性和其他下載選項。

利用DLL安裝

或者,您可以直接使用IronPDF的DLL文件將其併入您的專案。要下載包含DLL的ZIP文件,請點擊此連結。 一旦解壓,將DLL包含在您的專案中。

實現邏輯

  • **設置渲染器和日誌器:**該軟體設置IronPDF渲染器和Prism日誌器。
  • **記錄消息:可以使用MessageLog()**方法來記錄具有指定類別和優先順序的消息。 在此範例中,我們記錄應用程式的啟動和停止消息以及應用程式執行時出現的任何例外。
  • **應用邏輯:應用邏輯的一部分由PerformApplicationLogic()**方法模擬。 為了闡明錯誤日誌記錄,在這種情況下,它僅生成一個消息並引發一個異常。
  • **建立一個PDF日誌報告:在應用程式邏輯執行完畢後,軟體會根據已記錄的消息建立一個HTML文件。 然後使用IronPDF的RenderHtmlAsPdf()**功能將HTML文件轉換為日誌文件作為PDF報告。 然後將PDF文件保存到磁碟中。

擴展先前定義的程式碼以整合IronPDF程式碼:

using IronPdf;

static void GeneratePdfLogReport()
{
    var renderer = new ChromePdfRenderer(); // Instantiates Chrome Renderer

    // Generate HTML content for PDF report
    string htmlContent = "<h1>Log Report</h1><ul>";
    foreach (var log in Loglst)
    {
        htmlContent += $"<li><strong>Message: {log.Message}</strong> Level: {log.Level}</li>";
    }
    htmlContent += "</ul>";
    
    // Generate PDF document
    var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);

    // Save PDF file
    string filePath = "log_report.pdf";
    pdfDocument.SaveAs(filePath);
    Console.WriteLine($"PDF log report generated: {filePath}");
}

以下是由IronPDF生成的影像日誌報告

Prism日誌(對開發人員的工作原理):圖6 - 使用IronPDF和Prism日誌報告中的資料生成的輸出PDF。

要了解更多關於IronPDF程式碼參考,請參考這裡。

結論

Prism.Plugin.Logging與IronPDF的整合使開發人員可以輕鬆將全面的日誌功能新增到終端應用中。通過利用這兩種工具的功能,開發人員可以改善整體程式維護,優化除錯能力,以及加快日誌操作。 Prism.Plugin.Logging使控制台應用能在正確的實施和設置下獲得完整的日誌覆蓋,保證穩健的監控和故障排除能力。

IronPDF提供一個Lite bundle的永久授權,其中包含永久授權、一年的軟體維護和程式庫升級。 IronPDF為開發目的提供免費授權,但受時間和再分發限制。 獲取免費試用。 要了解更多有關各種Iron Software產品,請造訪他們的網站。

Jacob Mellor,首席技術官 @ Team Iron
首席技術官

Jacob Mellor是Iron Software的首席技術官,一位在C# PDF技術上開創先河的遠見工程師。作為Iron Software核心程式碼庫的原開發者,他從創立以來就一直在塑造公司的產品架構,與首席執行官Cameron Rimington一起將公司轉變為服務於NASA、特斯拉和全球政府公司的50多名人員的公司。

...
閱讀更多

相關文章

Key in blue circle

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

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
預訂您的免費現場演示
Booking Badge

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

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

版本: 2026.9

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

版本: 2026.9

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

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

授權從$999起