在生产环境中测试,无水印。
随时随地满足您的需求。
获得30天的全功能产品。
几分钟内就能启动并运行。
在您的产品试用期间,全面访问我们的支持工程团队。
日志是 C# 中的一项基本技术,可在应用程序运行时捕获信息、警告、错误和其他相关数据。 它可以帮助开发人员关注他们的程序如何运行、排除故障并理解应用程序在各种情况下的功能。 C# 提供了一些日志记录框架和软件包,使日志记录工作更加轻松。 Microsoft.Extensions.Logging 是 .NET Core 应用程序中最广泛使用的日志框架之一。 Microsoft.Extensions.Logging
NuGet 包用于 .NET Core,提供了多个扩展方法,帮助我们记录不同的日志级别。 在本文中,我们将进一步了解 MS logging。
创建一个新的Visual Studio项目。
从NuGet上的Microsoft.Extensions.Logging包页面安装Microsoft.Extensions.Logging
库。
将Logger
接口注入控制台。
配置日志输出。
编写不同级别的日志。
要开始工作,请在 Visual Studio 中创建一个新项目。
使用 NuGet 上的 Microsoft.Extensions.Logging 包页面 安装 Microsoft.Extensions.Logging
库。 该库为 .NET Core 应用程序中的日志记录提供了必要的类和方法。
要使用日志功能,您需要在控制台应用程序中注入Logger
接口的实例。 这可以通过使用依赖注入框架来完成,或者通过手动创建一个Logger
类的实例来完成。
using Microsoft.Extensions.Logging;
// Inject the logger into the console
ILogger logger = LoggerFactory.Create(builder =>
{
builder.AddConsole();
}).CreateLogger<Program>();
using Microsoft.Extensions.Logging;
// Inject the logger into the console
ILogger logger = LoggerFactory.Create(builder =>
{
builder.AddConsole();
}).CreateLogger<Program>();
Imports Microsoft.Extensions.Logging
' Inject the logger into the console
Private logger As ILogger = LoggerFactory.Create(Sub(builder)
builder.AddConsole()
End Sub).CreateLogger<Program>()
配置日志输出方式。 这可以通过在日志生成器中添加一个或多个日志提供程序来实现。 最常见的提供者是控制台日志记录器,它将日志输出到控制台。
builder.AddConsole(options =>
{
options.TimestampFormat = "[HH:mm:ss] ";
});
builder.AddConsole(options =>
{
options.TimestampFormat = "[HH:mm:ss] ";
});
builder.AddConsole(Sub(options)
options.TimestampFormat = "[HH:mm:ss] "
End Sub)
现在,您可以使用日志记录器对象编写不同级别的日志。 可用的日志记录方法是LogDebug()
、LogInformation()
、LogWarning()
、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");
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")
最后,运行您的代码并观察根据配置的设置输出的日志。
就是这样! 您已在 C# 应用程序中成功设置并使用了 MS 日志。
要安装 MS Logging,请按照以下步骤操作:
启动 Visual Studio。
导航至工具 > NuGet 包管理器 > 包管理器控制台。
Install-Package Microsoft.Extensions.Logging
Microsoft.Extensions.Logging
包到你的项目中。在C#的Microsoft.Extensions.Logging
框架中,提供了多种日志级别,使开发者能够根据日志信息的重要性和严重性进行分类和排序。 这些级别经常用于区分各种消息类型,并协助调节日志的冗长程度。
Microsoft.Extensions.Logging
提供的默认日志级别如下:
关键:最严重的状态,用于记录需要立即解决的关键问题,因为这些问题可能会导致严重问题或程序崩溃。
每个日志级别都有特定的用途,并为开发人员提供了管理日志框架输出数据量的能力。 开发人员可以根据记录数据的严重性和重要性选择适当的消息记录级别。
以下是一個使用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();
}
}
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();
}
}
Imports Microsoft.Extensions.Logging
Imports System
Friend Class Program
' Create a LoggerFactory instance
Private Shared ReadOnly LoggerFactory As ILoggerFactory = LoggerFactory.Create(Sub(builder)
' Add console logger
builder.AddConsole()
' You can add other logging providers here (e.g., AddDebug, AddFile, etc.)
End Sub)
' Create a logger
Private Shared ReadOnly Logger As ILogger = LoggerFactory.CreateLogger(Of Program)()
Shared Sub Main(ByVal args() As String)
' 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 ex As Exception
' Log exception details
Logger.LogError(ex, "Exception log")
End Try
Console.ReadKey()
End Sub
End Class
在本示例中,日志配置中添加了一个控制台日志记录器,可将日志写入控制台。 然而,Microsoft.Extensions.Logging
提供了各种日志提供程序,包括记录到文件、数据库或与其他日志框架连接。 此外,还可以创建自定义日志提供程序,根据特定要求格式化日志。
您可以通过在Create()
函数内链接相关方法来添加额外的日志记录源。 例如
builder.AddDebug()
。builder.AddFile("log.txt")
。IronPDF 在HTML 转 PDF转换方面表现出色,确保原始布局和样式的精确保留。 它非常适合从基于网络的内容(如报告、发票和文档)创建PDF。 IronPDF 支持 HTML 文件、URL 和原始 HTML 字符串,能够轻松生成高质量的 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");
}
}
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim renderer = New ChromePdfRenderer()
' 1. Convert HTML String to PDF
Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")
' 2. Convert HTML File to PDF
Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")
' 3. Convert URL to PDF
Dim url = "http://ironpdf.com" ' Specify the URL
Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
pdfFromUrl.SaveAs("URLToPDF.pdf")
End Sub
End Class
要在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();
}
}
Imports Microsoft.Extensions.Logging
Imports IronPdf
Friend Class Program
Shared Sub Main(ByVal args() As String)
Dim loggerFactory As ILoggerFactory = LoggerFactory.Create(Sub(builder)
builder.AddConsole().AddDebug()
End Sub)
Dim logger As ILogger(Of Program) = loggerFactory.CreateLogger(Of 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()
End Sub
End Class
在此示例中,我们从Microsoft.Extensions.Logging
框架中创建LoggerFactory
的实例。 然后,我们从工厂为Program
类创建一个记录器。
要在 IronPDF 中启用日志记录,我们将静态Logger.Log
属性设置为LoggerImplementation
的实例,该实例从loggerFactory
获取记录器。 使用此配置,您可以使用Logger.Log
方法在IronPDF中记录消息。
在使用IronPDF执行完必要的操作后,您可以关闭并释放资源,然后通过释放loggerFactory
刷新日志消息。
注意:请确保已安装Microsoft.Extensions.Logging
和IronPDF的必要依赖项和软件包。
要安装 IronPDF 库,请按照以下步骤操作:
在Visual Studio中打开包管理器控制台。
Install-Package IronPdf
或者,您也可以使用 .NET CLI,在终端运行以下命令:
dotnet add package IronPdf
dotnet add package IronPdf
按Enter键执行命令。 这将下载 IronPDF 软件包并安装到您的项目中。
也可以使用 NuGet 软件包管理器图形用户界面安装 IronPdf 库。 只需在 "浏览 "选项卡中搜索软件包 "IronPDF",从列表中选择所需的软件包,然后安装最新版本的 IronPDF 即可。
安装完成后,您就可以开始在项目中使用 IronPDF 库了。
截至2022年1月,IronPDF不直接与Microsoft.Extensions.Logging
交互,并且不受本地支持。 IronPdf 主要用作在 C# 程序中创建和修改 PDF 的工具。
不过,您仍然可以使用 Microsoft.Extensions.Logging 来记录日志。 通过将日志记录与 IronPDF 一起集成到 C# 程序中,您可以管理和记录与 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();
}
}
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();
}
}
Imports Microsoft.Extensions.Logging
Imports IronPdf
Imports System
Friend Class Program
Private Shared ReadOnly LoggerFactory As ILoggerFactory = LoggerFactory.Create(Sub(builder)
builder.AddConsole() ' Add other logging providers as needed
End Sub)
Private Shared ReadOnly Logger As ILogger = LoggerFactory.CreateLogger(Of Program)()
Shared Sub Main(ByVal args() As String)
Try
' Your IronPDF code for PDF generation or manipulation
Dim Renderer = New IronPdf.HtmlToPdf()
Dim PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
PDF.SaveAs("Output.pdf")
Logger.LogInformation("PDF created successfully.")
Catch ex As Exception
Logger.LogError(ex, "An error occurred while generating the PDF.")
End Try
Console.ReadKey()
End Sub
End Class
本示例演示了在使用 IronPDF 的 C# 应用程序中设置 Microsoft.Extensions.Logging 的简单方法。 生成的日志信息将记录成功创建 PDF 的过程,并记录可能出现的任何异常情况。
请务必根据您应用程序的具体需求以及 IronPDF 用于创建或修改 PDF 的场景,自定义日志级别、错误处理和消息。 使用日志级别正确区分不同类型的日志信息有助于有效调试和监控。
要了解更多关于IronPDF的信息,请访问IronPDF主页。
总之,集成 Microsoft.Extensions.Logging 可以让 C# 开发人员有效处理日志记录任务。 IronPdf 提供全面的日志功能,可对应用程序事件、故障和重要数据进行全面记录、分析和报告。 这将增强应用程序的可靠性、维护性和调试性。
IronPDF 提供不同的软件产品,包括一个价格为 $749 的 Lite 捆绑包。 该捆绑包包括永久许可证、升级选项、一年软件维护和 30 天退款保证。 在带水印的试用期内,您可以探索 IronPDF 的功能。 要了解有关Iron Software提供的软件产品的更多信息,请访问Iron Software的官方网站。