.NET 帮助 Microsoft Logging C#(开发者如何使用) Jacob Mellor 已更新:2026年1月18日 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 LLM副本 LLM副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 日志记录是C#中捕获信息、警告、错误和其他相关数据的基本技术,同时应用程序正在运行。 它帮助开发人员监控程序的行为,排除故障,并了解应用程序在不同环境中的功能。 C#提供了一些日志框架和包,以简化日志任务。 Microsoft.Extensions.Logging 是 .NET Core 应用程序中最广泛使用的日志框架之一。 .NET Core 的 Microsoft.Extensions.Logging NuGet 包为我们提供了多种扩展方法,帮助我们记录不同的日志级别。 在本文中,我们将更多地了解 MS 日志记录。 如何设置 MS 日志记录 创建一个新的 Visual Studio 项目。 从NuGet 的 Microsoft.Extensions.Logging 包页面安装 Microsoft.Extensions.Logging 库。 将 Logger 接口注入到控制台中。 配置日志输出。 在不同级别写入日志。 运行代码。 步骤 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>(); using Microsoft.Extensions.Logging; // Create a logger for the application ILogger<Program> logger = LoggerFactory.Create(builder => { builder.AddConsole(); // Adding console logging }).CreateLogger<Program>(); $vbLabelText $csharpLabel 步骤 4:配置日志输出 配置日志的输出方式。 这可以通过向日志记录器生成器添加一个或多个日志提供程序来实现。 最常见的提供者是控制台日志记录器,它将日志输出到控制台。 builder.AddConsole(options => { options.TimestampFormat = "[HH:mm:ss] "; // Setting the timestamp format for logs }); builder.AddConsole(options => { options.TimestampFormat = "[HH:mm:ss] "; // Setting the timestamp format for logs }); $vbLabelText $csharpLabel 步骤 5:在不同级别写入日志 现在可以使用日志记录器对象在不同级别写入日志。 可用的日志方法包括 LogError() 和 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"); 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"); $vbLabelText $csharpLabel 步骤 6:运行代码 最后,运行您的代码,并根据配置的设置观察日志输出。 就是这样! 您已成功在 C# 应用程序中设置并使用 MS 日志记录。 安装 MS 日志记录 要安装 MS 日志记录,请按照以下步骤操作: 启动 Visual Studio。 导航到 工具 > NuGet 包管理器 > 包管理器控制台。 在包管理器控制台中执行以下命令: Install-Package Microsoft.Extensions.Logging 按 Enter 键执行命令。 这将下载并安装 Microsoft.Extensions.Logging 包到您的项目中。 日志级别 C# 中的 Microsoft.Extensions.Logging 框架提供了多种日志级别,使开发者能够根据日志消息的重要性和严重性进行分类和排名。 这些级别通常用于区分不同类型的消息,帮助调节日志的详细程度。 Microsoft.Extensions.Logging 提供的默认日志级别如下: Trace: 最详细的级别,通常用于提供非常详细的数据,以深入了解程序的内部工作。 Debug: 用于开发和调试阶段的调试信息,而在生产环境中通常不需要。 Information: 提供应用程序正常运行的详细信息。 通常,这些日志用于监控程序的正常操作。 Warning: 指出可能的问题或未来需要注意的事项。 用于记录异常或意外情况,这些情况可能导致问题,但不一定会导致程序崩溃。 Error: 表示需要立即修复的严重问题或错误。 通常用于记录影响应用程序操作的问题。 Critical: 最严重的状态,用于记录需要立即处理的关键问题,因为它们可能导致严重问题或程序崩溃。 每个日志级别都有其特定用途,能够让开发人员管理日志框架输出的数据量。 开发人员可以根据记录数据的严重性和重要性选择合适的级别进行消息记录。 配置 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 } } 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 } } $vbLabelText $csharpLabel 在此示例中,将控制台日志记录器添加到日志配置中,以将日志写入控制台。 然而,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"); } } 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"); } } $vbLabelText $csharpLabel 要在 IronPDF 中启用日志记录,您可以使用 Microsoft.Extensions.Logging 框架以及 IronPDF 的内置日志功能。 以下是如何在 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(); } } 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(); } } $vbLabelText $csharpLabel 在这个示例中,我们从 Microsoft.Extensions.Logging 框架创建一个 LoggerFactory 实例。 然后,我们从工厂为 Program 类创建一个日志记录器。 为了在 IronPDF 中启用日志记录,我们将静态 Logger.Log 属性设置为一个实例 LoggerImplementation,它从 loggerFactory 获取日志记录器。 有了这个配置,您可以使用 Logger.Log 方法在 IronPDF 中记录消息。 在 IronPDF 上执行必要的操作后,您可以关闭并释放资源,然后通过处理 loggerFactory 来刷新日志消息。 注意:确保您已安装 Microsoft.Extensions.Logging 和 IronPDF 所需的依赖关系和包。 安装IronPDF 要安装 IronPDF 库,请按照以下步骤操作: 在 Visual Studio 中打开包管理器控制台。 输入以下命令,通过 NuGet 安装 IronPDF 库: Install-Package IronPdf 或者,可以通过在终端中运行以下命令使用 .NET CLI: Install-Package IronPdf 按 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 } } 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 } } $vbLabelText $csharpLabel 该示例演示了一种简单的方法,在使用 IronPDF 的 C# 应用程序中设置 Microsoft.Extensions.Logging。 生成日志消息以记录 PDF 的成功创建,并记录可能发生的异常。 请确保根据应用程序的具体需求,以及使用 IronPDF 创建或修改 PDF 的场景,自定义日志级别、错误处理和消息。 通过不同日志级别区分不同类型的日志消息,对于有效的调试和监控会非常有用。 要了解有关 IronPDF 的更多信息,请访问 IronPDF 首页。 结论 总之,集成 Microsoft.Extensions.Logging 使 C# 开发人员能够有效地处理日志记录任务。 IronPDF 提供全面的日志记录功能,能够彻底记录、分析和报告应用程序事件、故障和重要数据。 这提升了应用程序的可靠性、维护性和调试能力。 IronPDF 提供不同的软件产品,包括定价为 $799 的 Lite 捆绑包。 该捆绑包包含永久许可证、升级选项、一年的软件维护,以及三十天的退款保证。 在有水印的试用期内,您可以探索 IronPDF 的功能。 要了解更多关于 Iron Software 提供的软件产品的信息,请访问 Iron Software 的官方网站。 常见问题解答 我如何在 .NET Core 应用程序中设置 Microsoft.Extensions.Logging? 要在 .NET Core 应用程序中设置 Microsoft.Extensions.Logging,您需要创建一个新的 Visual Studio 项目,通过 NuGet 安装 Microsoft.Extensions.Logging 包,将 ILogger 接口注入到您的应用程序中,并使用各种提供程序配置您的日志输出。您还可以通过与 IronPDF 集成来增强在 HTML 到 PDF 转换期间的功能。 Microsoft.Extensions.Logging 中有哪些不同的日志级别? Microsoft.Extensions.Logging 提供了 Trace、Debug、Information、Warning、Error 和 Critical 等日志级别。这些级别有助于开发人员根据严重性和重要性对日志消息进行分类。 如何在 .NET Core 应用程序中注入 ILogger 接口? 在 .NET Core 应用程序中,您可以通过使用依赖注入来注入 ILogger 接口。这涉及在您的 Startup 类中配置服务容器以包括日志服务,然后将 ILogger 注入到需要日志记录的类中,T 是类的类型。 IronPDF 可以与 Microsoft.Extensions.Logging 框架一起工作吗? 是的,IronPDF 可以与 Microsoft.Extensions.Logging 集成。通过设置一个记录器,您可以使用 IronPDF 的内置功能以及日志记录功能来跟踪和管理应用程序事件和在 PDF 生成期间的问题。 如何为 Microsoft.Extensions.Logging 配置日志输出? 您可以通过将日志提供程序添加到记录器构建器来配置日志输出。例如,使用 builder.AddConsole() 配置控制台输出,并可以使用 builder.AddDebug() 或 builder.AddFile() 将日志定向到其他目的地。 在应用程序开发中的日志记录的目的是什么? 应用程序开发中的日志记录有助于监控应用程序行为、诊断问题并在不同环境中了解应用程序的功能。对于调试和维护应用程序的可靠性尤为重要,尤其是当集成 IronPDF 等工具以执行 HTML 到 PDF 转换等特定任务时。 使用 C# 将 HTML 转换为 PDF 的步骤是什么? 要使用 C# 将 HTML 转换为 PDF,您可以使用 IronPDF。首先,通过 NuGet 确保安装了 IronPDF。然后,使用 IronPDF 的 API 方法如 RenderHtmlAsPdf 将 HTML 字符串或文件转换为 PDF,同时利用日志记录来监控过程。 在项目中将日志记录与 IronPDF 集成的好处是什么? 在项目中将日志记录与 IronPDF 集成可以更好地监控和调试 PDF 生成过程。开发人员可以跟踪应用程序事件、错误和性能问题,从而提高可靠性并简化故障排除。 Jacob Mellor 立即与工程团队聊天 首席技术官 Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。Jacob 拥有曼彻斯特大学土木工程一级荣誉工程学士学位(BEng)(1998-2001 年)。他的旗舰产品 IronPDF 和 Iron Suite for .NET 库在全球的 NuGet 安装量已超过 3000 万次,其基础代码继续为全球使用的开发人员工具提供动力。Jacob 拥有 25 年的商业经验和 41 年的编码专业知识,他一直专注于推动企业级 C#、Java 和 Python PDF 技术的创新,同时指导下一代技术领导者。 相关文章 已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多 已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新2025年12月20日 C# String Equals(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 Cefsharp.WPF.NET Core(开发者如何使用)Serilog .NET(开发者如何使用)
已更新2026年2月20日 架起 CLI 简洁性与 .NET 的桥梁:使用 IronPDF for .NET 的 Curl DotNet Jacob Mellor 通过 CurlDotNet 填补了这一空白,CurlDotNet 库的创建是为了将 cURL 的熟悉感带入 .NET 生态系统。 阅读更多
已更新2025年12月20日 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多