IRONSOFTWAREHOME
开发者更新

Prism Logging(开发人员如何使用)

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

控制台应用程序尽管缺乏图形用户界面,却经常需要强大的日志记录机制来跟踪错误、监测应用程序性能,并有效地调试问题。 Prism.Plugin.Logging 是Prism 日志框架的扩展,提供了一个全面的日志解决方案,支持各种日志提供程序,包括 .NET 应用程序。

在本文中,我们探讨如何将 Prism Logging 集成到控制台应用程序中,使用IronPDF,一个强大的 .NET 库,用于处理 PDF 文档。 通过结合这些工具,开发人员可以在他们的控制台应用程序中实现高级日志功能,增强维护和排错能力。

Prism Logging 介绍

Prism.Plugin.Logging 通过提供全面的日志功能扩展了Prism,这是一个流行的 XAML 应用程序构建框架。 通过支持NLog、Serilog和Microsoft.Extensions.Logging等多个日志提供商,Prism.Plugin.Logging 提供了灵活性和自定义选项以满足各种应用程序需求。

使用 Prism Logging 的好处

**灵活的日志配置:**Prism.Plugin.Logging 允许开发人员不费力地配置各种日志提供商,包括NLog、Serilog 和 Microsoft.Extensions.Logging。

**结构化日志支持:**开发人员可以使用Prism.Plugin.Logging 记录带有消息的结构化数据。 这种功能在涉及控制台应用程序的场景中尤其有用,其中必须记录和添加包括时间戳、错误代码或用户活动在内的全面上下文数据到由 IronPDF 生成的日志报告中。

如何使用 Prism Logging

  1. 创建一个新的 C# 项目
  2. 安装 Prism Logging 包。
  3. 创建一个传递配置作为参数的 SyslogLogger 对象。
  4. 在需要时调用日志方法并传递日志消息和日志级别。
  5. 在结束时处置日志对象。

开始使用 Prism 日志

Setting up Prism in C# Projects

将 Prism 集成到 C# 项目中很简单。 利用 NuGet——微软的 .NET 包管理器来添加 Prism 是必要的。 该库提供了集成 Prism Logs 到您的项目中的工具和库。

Prism日志记录(开发人员使用指南):图1 - 通过在NuGet包管理器的搜索栏中搜索

在 Dot .NET 应用程序中实现 Prism

Prism 兼容多种 Dot .NET 应用程序类型,包括 Windows Forms (WinForms) 和 Windows 控制台。 尽管每种框架的实现方式不同,但基本概念始终相同,帮助我们记录与您的应用程序相关的数据。

在 Visual Studio 中创建新项目

选择 Visual Studio 应用程序中的"文件"菜单。 点击"新建项目",然后选择"控制台应用程序"。

Prism日志记录(开发人员使用指南):图2 - 打开Visual Studio并选择

在选择文件位置后,在指定的文本区域中输入项目名称。 然后,如下图示例中所示,通过单击创建按钮选择所需的 .NET Framework。

Prism Logging(开发人员如何使用):图3 - 接下来,通过指定所需的项目名称和位置来配置您的项目。 选择您项目相应的 .NET Framework并单击"创建"按钮。

然后所选应用程序将决定 Visual Studio 项目的组织方式。 只需打开 program.cs 文件即可开始向应用程序添加代码并构建它。 您可以使用 Windows、控制台或 Web 应用程序。

之后,可以添加库并测试代码。

使用 Prism Logs 的基本示例

在下面的代码示例中,我们初始化 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 Logging 生成日志报告。 我们使用一个名为 Kiwi Syslog Service Manager 的工具来监控 Prism 日志。

输出 Prism 日志文件

Prism日志记录(开发人员使用指南):图4 - 使用Kiwi Syslog服务管理工具监控生成的Prism日志报表。

Prism 日志操作

可扩展的日志记录

Prism.Plugin.Logging 通过日志记录扩展其功能,提供了更多的功能和灵活性。 它提供了一系列配置选项,可以调整日志级别、日志目标和其他变量,以满足应用程序的日志记录需求。

多个日志目标

using Prism.Plugin.Logging,您可以将日志消息路由到多个位置,包括控制台、文件、数据库和其他日志服务。 由于这种灵活性,您可以选择最佳的日志记录目标,以满足应用程序的需求和环境。

自定义日志器

使用该插件,您可以实现Prism 的 ILoggerFacade 接口来构建自定义日志器。 这使您可以根据应用程序的需求或与第三方日志框架集成来构建自定义日志记录功能。

使用 Prism Logs 创建日志

只需几行代码即可轻松创建 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

在 C# 项目中将 Prism 与 IronPDF 结合使用,打开了一些激动人心的可能性。 尽管 Prism 是用于处理日志的很好的工具,但 IronPDF 是将内容转换为 PDF 的一个出色的工具。 由于这种连接,程序员可以创建应用程序,将项目记录到自定义设计的 PDF 文档中。

使用 Prism Logging 和 IronPDF

通过创建一个使用 Prism Logs 的 Windows 控制台应用程序,用户可以在您的程序中参与日志。 该控制台上应该有足够的空间来生成日志。 添加服务器日志操作和 HTTP 日志。

安装 IronPDF

  • 打开 Visual Studio 项目。

  • 选择"工具">"NuGet包管理器">"包管理器控制台"。

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

      PM > Install-Package IronPdf

  • 另一种安装 IronPDF 的方法是使用解决方案的 NuGet 包管理器。

    • 在搜索结果中浏览 IronPDF 包,选择它,然后单击"安装"按钮。 Visual Studio 将自动处理下载和安装。

Prism日志记录(开发人员使用指南):图5 - 通过在NuGet包管理器的搜索栏中搜索

  • NuGet 将下载并安装您的项目所需的 IronPDF 包和任何依赖项。
  • 一旦安装了 IronPDF,您便可以在您的项目中使用它。

通过NuGet网站安装

访问 NuGet 网站上的 IronPDF 页面 https://www.nuget.org/packages/IronPdf,以了解有关 IronPDF 功能、兼容性和其他下载选项的更多信息。

使用DLL安装

或者,您可以通过使用其 DLL 文件将 IronPDF 直接集成到项目中。要下载包含 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 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

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 起