在實際環境中測試
在生產環境中測試無浮水印。
在任何需要的地方都能運作。
記錄是 C# 中一種基本技術,它在應用程式運行時捕捉資訊、警告、錯誤和其他相關數據。它幫助開發者監控程式的行為方式、排除問題,以及理解應用程式在各種情境中的運作方式。C# 提供了一些記錄框架和套件,以簡化記錄工作。 [Microsoft.Extensions.Logging
](https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.logging?view=dotnet-plat-ext-8.0) 是 .NET Core 應用程式中最常用的日誌記錄框架之一。Microsoft.Extensions.Logging
NuGet 套件為 .NET Core 提供了多種擴展方法,幫助我們撰寫不同的日誌級別。在本文中,我們將深入了解 MS 日誌記錄。
建立一個新的 Visual Studio 專案。
從 Microsoft.Extensions.Logging
安裝庫 NuGet.
將 Logger
介面注入到控制台中。
配置日誌輸出。
在不同級別寫入日誌。
要開始,請在 Visual Studio 中創建一個新專案。
使用以下命令安裝 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)
您現在可以使用 logger 物件在不同層級寫入日誌紀錄。可用的日誌紀錄方法包括 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,請按照以下步驟操作:
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
類別創建一個 logger。
要在 IronPDF 中啟用日誌記錄,我們將靜態 Logger.Log
屬性設置為從 loggerFactory
獲取的 LoggerImplementation
實例。透過這種配置,您可以使用 Logger.Log
方法在 IronPDF 內記錄訊息。
在使用 IronPDF 執行必要的操作後,您可以關閉並處理資源,然後通過處置 loggerFactory
來刷新日誌訊息。
注意:請確保您已安裝 Microsoft.Extensions.Logging
和 IronPDF 的必要依賴項和包。
要安裝 IronPDF 函式庫,請按照以下步驟操作:
Install-Package IronPdf
或者,您可以在終端中運行以下命令來使用 .NET CLI:
dotnet add package 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的信息,請訪問官方網站。
總而言之,整合 Microsoft.Extensions.Logging 允許 C# 開發者有效地處理記錄任務。IronPDF 提供全面的記錄功能,能夠徹底記錄、分析和報告應用程式事件、故障和重要資料。這增強了應用程式的可靠性、維護性和除錯能力。
IronPDF 提供不同的軟體產品,包括價格為 $749 的輕量級組合。此組合包括永久許可證、升級選項、一年的軟體維護和三十天的退款保證。在有浮水印的試用期間,您可以探索 IronPDF 的功能。欲了解更多 Iron Software 提供的軟體產品信息,請訪問他們的官方網站。 https://ironsoftware.com/.