在生產環境中測試,無水印。
在任何需要的地方都能運行。
獲得 30 天的全功能產品。
在幾分鐘內上手運行。
試用產品期間完全訪問我們的支援工程團隊
記錄是 C# 中的一項基本技術,它可以在應用程式運行時捕捉資訊、警告、錯誤和其他相關數據。 它幫助開發人員監控他們的程序行為,排除故障,並了解應用程式在不同情境中的運作方式。 C# 提供了一些日誌框架和套件,以使日誌工作更簡單。 Microsoft.Extensions.Logging 是 .NET Core 應用程式中使用最廣泛的記錄框架之一。 Microsoft.Extensions.Logging
NuGet 套件適用於 .NET Core,為我們提供了多種擴展方法,幫助我們編寫不同的日誌級別。 在本文中,我們將深入瞭解 MS 日誌記錄。
創建一個新的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
屬性設定為從 loggerFactory
獲取日誌記錄器的 LoggerImplementation
實例。 使用此配置,您可以使用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 套件管理器 GUI 安裝 IronPDF 庫。 只需在「瀏覽」選項卡中搜索「IronPDF」套件,從列表中選擇所需的套件,然後安裝最新版本的 IronPDF。
安裝完成後,您可以開始在您的專案中使用IronPDF庫。
截至 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();
}
}
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 套裝。 此套裝包括永久許可證、升級選項、一年軟體維護以及三十天退款保證。 在有浮水印的試用期內,您可以探索IronPDF的功能。 要了解有關 Iron Software 提供的軟體產品之更多資訊,請造訪Iron Software 的官方網站。