在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
記錄是 C# 中的一項基本技術,它可以在應用程式運行時捕捉資訊、警告、錯誤和其他相關數據。 它幫助開發人員監控他們的程序行為,排除故障,並了解應用程式在不同情境中的運作方式。 C# 提供了一些日誌框架和套件,以使日誌工作更簡單。 Microsoft.Extensions.Logging是 .NET Core 應用程式中使用最廣泛的記錄框架之一。 適用於 .NET Core 的 Microsoft.Extensions.Logging
NuGet 套件使我們能夠訪問多個擴展方法,以協助我們撰寫不同的日誌級別。 在本文中,我們將深入瞭解 MS 日誌記錄。
建立新的Visual Studio專案。
從Microsoft.Extensions.Logging
庫安装Microsoft.Extensions.Logging 套件頁面在 NuGet 上.
將 Logger
介面注入到控制台。
配置日志输出。
在不同級別寫日誌。
要開始,請在 Visual Studio 中創建一個新專案。
使用 Microsoft.Extensions.Logging
庫安裝Microsoft.Extensions.Logging 套件頁面在 NuGet 上. 此程式庫提供用於 .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()
, 日志信息()
, 記錄警告()
, 記錄錯誤()
, 和 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 中啟用日誌記錄,您可以使用 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
按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 的官方網站.