IRONSOFTWAREHOME
开发者更新

Microsoft Logging C#(开发者如何使用)

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

日志记录是C#中捕获信息、警告、错误和其他相关数据的基本技术,同时应用程序正在运行。 它帮助开发人员监控程序的行为,排除故障,并了解应用程序在不同环境中的功能。 C#提供了一些日志框架和包,以简化日志任务。 Microsoft.Extensions.Logging 是 .NET Core 应用程序中最广泛使用的日志框架之一。 该Microsoft.Extensions.Logging NuGet包用于.NET Core,可让我们访问多个扩展方法,以帮助我们记录不同的日志级别。 在本文中,我们将更多地了解 MS 日志记录。

如何设置 MS 日志记录

  1. 创建一个新的 Visual Studio 项目。
  2. 从NuGet上的Microsoft.Extensions.Logging包页面安装Microsoft.Extensions.Logging库。
  3. 将Logger接口注入到控制台中。
  4. 配置日志输出。
  5. 在不同级别写入日志。
  6. 运行代码。

步骤 1:创建一个新的 Visual Studio 项目

要开始,请在 Visual Studio 中创建一个新项目。

步骤 2:安装 Microsoft.Extensions.Logging 库

使用NuGet上的Microsoft.Extensions.Logging包页面安装Microsoft.Extensions.Logging库。 此库为 .NET Core 应用程序的日志记录提供必要的类和方法。

步骤 3:将 Logger 接口注入控制台

要使用日志记录功能,您需要将一个ILogger接口的实例注入到您的控制台应用程序中。 这可以通过使用日志工厂来完成。

using Microsoft.Extensions.Logging;

// Create a logger for the application
ILogger<Program> logger = LoggerFactory.Create(builder =>
{
    builder.AddConsole(); // Adding console logging
}).CreateLogger<Program>();

步骤 4:配置日志输出

配置日志的输出方式。 这可以通过向日志记录器生成器添加一个或多个日志提供程序来实现。 最常见的提供者是控制台日志记录器,它将日志输出到控制台。

builder.AddConsole(options =>
{
    options.TimestampFormat = "[HH:mm:ss] "; // Setting the timestamp format for logs
});

步骤 5:在不同级别写入日志

现在可以使用日志记录器对象在不同级别写入日志。 可用的日志记录方法有LogCritical()。

logger.LogDebug("This is a debug message");
logger.LogInformation("This is an information message");
logger.LogWarning("This is a warning message");
logger.LogError("This is an error message");
logger.LogCritical("This is a critical message");

步骤 6:运行代码

最后,运行您的代码,并根据配置的设置观察日志输出。

就是这样! 您已成功在 C# 应用程序中设置并使用 MS 日志记录。

安装 MS 日志记录

要安装 MS 日志记录,请按照以下步骤操作:

  1. 启动 Visual Studio。

  2. 导航到 工具 > NuGet 包管理器 > 包管理器控制台。

  3. 在包管理器控制台中执行以下命令:

    Install-Package Microsoft.Extensions.Logging
    PowerShell
  4. 按 Enter 键执行命令。 这将下载并安装Microsoft.Extensions.Logging包到您的项目中。

日志级别

C#中的Microsoft.Extensions.Logging框架提供多种日志记录级别,使开发者能够根据其重要性和严重性对日志消息进行分类和排序。 这些级别通常用于区分不同类型的消息,帮助调节日志的详细程度。

Microsoft.Extensions.Logging提供的默认日志记录级别如下:

***追踪:**最彻底的级别,通常用于极其详细的数据,可以深入了解程序的内部运作。 ***调试信息:**在开发和调试阶段很有用的调试信息,但在生产环境中通常不需要。 ***信息:**提供有关应用程序正常运行方式的详细信息。 通常,这些日志用于监控程序的正常操作。 ***警告:**指出可能存在的问题或将来可能需要注意的事项。 用于记录异常或意外情况,这些情况可能导致问题,但不一定会导致程序崩溃。 ***错误:**表示存在严重问题或错误,需要立即修复。 通常用于记录影响应用程序操作的问题。 ***严重:**最严重的状态,用于记录需要立即解决的严重问题,因为它们可能会导致严重问题或程序崩溃。

每个日志级别都有其特定用途,能够让开发人员管理日志框架输出的数据量。 开发人员可以根据记录数据的严重性和重要性选择合适的级别进行消息记录。

配置C#日志记录

以下是如何使用Microsoft.Extensions.Logging配置日志记录的基本示例:

using Microsoft.Extensions.Logging;
using System;

class Program
{
    // Create a LoggerFactory instance
    private static readonly ILoggerFactory LoggerFactory = LoggerFactory.Create(builder =>
    {
        // Add console logger
        builder.AddConsole();
        // You can add other logging providers here (e.g., AddDebug, AddFile, etc.)
    });

    // Create a logger
    private static readonly ILogger Logger = LoggerFactory.CreateLogger<Program>();

    static void Main(string[] args)
    {
        // Example log messages
        Logger.LogInformation("Information log");
        Logger.LogWarning("Warning log");
        Logger.LogError("Error log");

        try
        {
            // Simulate an exception
            throw new Exception("Exception occurred");
        }
        catch (Exception ex)
        {
            // Log exception details
            Logger.LogError(ex, "Exception log");
        }

        Console.ReadKey(); // Wait for a key press before closing the application
    }
}

在此示例中,将控制台日志记录器添加到日志配置中,以将日志写入控制台。 然而,Microsoft.Extensions.Logging提供多种日志记录提供者,包括记录到文件、数据库或与其他日志框架连接。 此外,可以创建自定义的日志提供程序,以根据特定要求格式化日志。

包括额外的日志提供程序

您可以通过在Create()函数中串联相关方法来添加其他日志记录源。 例如:

  • 要添加调试器输出日志提供者,请使用builder.AddDebug()。
  • 要添加文件日志提供者,请使用builder.AddFile("log.txt")。

在 IronPDF 上进行 MSLogging

IronPDF 擅长 HTML 到 PDF 的转换,确保准确保存原始布局和样式。 它非常适合从基于Web的内容中创建PDF,如报告、发票和文档。 利用对HTML文件、URL和原始HTML字符串的支持,IronPDF轻松生成高质量的PDF文档。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

要在IronPDF中启用日志记录,您可以结合IronPDF内置的日志记录功能使用Microsoft.Extensions.Logging框架。 以下是如何在 IronPDF 中设置日志记录的示例:

using Microsoft.Extensions.Logging;
using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        ILoggerFactory loggerFactory = LoggerFactory.Create(builder =>
        {
            builder
                .AddConsole()
                .AddDebug();
        });

        ILogger<Program> logger = loggerFactory.CreateLogger<Program>();

        // Enable logging in IronPDF
        Logger.Log = new LoggerImplementation(logger);

        // Use IronPDF and perform operations
        // ...

        // Example of logging an error in IronPDF
        Logger.Log.Error("An error occurred while processing the PDF");

        // Example of logging a warning in IronPDF
        Logger.Log.Warning("This is a warning message");

        // Example of logging an information message in IronPDF
        Logger.Log.Information("This is an information message");

        // ...

        // Close and dispose resources
        // ...

        // Flush the log messages
        loggerFactory.Dispose();
    }
}

在此示例中,我们从LoggerFactory的实例。 然后我们从工厂为Program类创建一个日志记录器。

为了在IronPDF中启用日志记录,我们将静态loggerFactory的日志记录器。 通过此配置,您可以使用Logger.Log方法在IronPDF中记录消息。

在使用IronPDF执行必要操作后,您可以关闭和处置资源,然后通过处置loggerFactory来刷新日志消息。

注意:确保您已为Microsoft.Extensions.Logging和IronPDF安装了必要的依赖关系和包。

安装IronPDF

要安装 IronPDF 库,请按照以下步骤操作:

  1. 在 Visual Studio 中打开包管理器控制台。
  2. 输入以下命令,通过 NuGet 安装 IronPDF 库:

PM > Install-Package IronPdf

或者,可以通过在终端中运行以下命令使用 .NET CLI:

PM > Install-Package IronPdf

  1. 按 Enter 键执行命令。 这将下载并安装 IronPDF 包到您的项目中。

还可以通过使用 NuGet 包管理器 GUI 安装 IronPDF 库。 只需在浏览选项卡中搜索 "IronPDF" 包,从列表中选择所需的包,并安装 IronPDF 的最新版本。

安装完成后,您可以在项目中开始使用 IronPDF 库。

使用 IronPDF 进行 MS 日志记录

截至2022年1月,IronPDF不直接与Microsoft.Extensions.Logging交互且不原生支持。 IronPDF 主要用作在 C# 程序中创建和修改 PDF 的工具。

然而,您仍然可以使用 Microsoft.Extensions 进行日志记录。 通过在 C# 程序中与 IronPDF 一起集成日志记录,可以管理和记录与 PDF 生成、应用程序工作流相关的事件,或在使用 IronPDF 时发生的问题。

以下是如何使用 Microsoft.Extensions 与 IronPDF 集成日志记录的示例:

using Microsoft.Extensions.Logging;
using IronPdf;
using System;

class Program
{
    private static readonly ILoggerFactory LoggerFactory = LoggerFactory.Create(builder =>
    {
        builder.AddConsole(); // Add other logging providers as needed
    });

    private static readonly ILogger Logger = LoggerFactory.CreateLogger<Program>();

    static void Main(string[] args)
    {
        try
        {
            // Your IronPDF code for PDF generation or manipulation
            var Renderer = new IronPdf.HtmlToPdf();
            var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>");
            PDF.SaveAs("Output.pdf");
            Logger.LogInformation("PDF created successfully.");
        }
        catch (Exception ex)
        {
            Logger.LogError(ex, "An error occurred while generating the PDF.");
        }

        Console.ReadKey(); // Wait for a key press before closing the application
    }
}

该示例演示了一种简单的方法,在使用 IronPDF 的 C# 应用程序中设置 Microsoft.Extensions.Logging。 生成日志消息以记录 PDF 的成功创建,并记录可能发生的异常。

请确保根据应用程序的具体需求,以及使用 IronPDF 创建或修改 PDF 的场景,自定义日志级别、错误处理和消息。 通过不同日志级别区分不同类型的日志消息,对于有效的调试和监控会非常有用。

要了解有关 IronPDF 的更多信息,请访问 IronPDF 首页。

结论

总之,集成 Microsoft.Extensions.Logging 使 C# 开发人员能够有效地处理日志记录任务。 IronPDF 提供全面的日志记录功能,能够彻底记录、分析和报告应用程序事件、故障和重要数据。 这提升了应用程序的可靠性、维护性和调试能力。

IronPDF提供不同的软件产品,包括一个价格为$999的Lite捆绑包。 该捆绑包包含永久许可证、升级选项、一年的软件维护,以及三十天的退款保证。 在有水印的试用期内,您可以探索 IronPDF 的功能。 要了解更多关于 Iron Software 提供的软件产品的信息,请访问 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 起