Wie man die benutzerdefinierte Protokollierung in C# verwendet;
Unter Custom Logging versteht man die Implementierung eines Protokollierungssystems, das auf die spezifischen Bedürfnisse und Anforderungen einer Anwendung oder eines Systems zugeschnitten ist. Sie umfasst die Erstellung und Verwendung von Protokolldateien zur Aufzeichnung von Informationen, Ereignissen und Meldungen, die von der Software während ihres Betriebs erzeugt werden.
Erste Schritte mit IronPDF
Beginnen Sie noch heute mit der Verwendung von IronPDF in Ihrem Projekt mit einer kostenlosen Testversion.
Verwendung der benutzerdefinierten Protokollierung in C#
- IronPDF von NuGet herunterladen
- Setzen Sie die LoggingMode eigenschaft zu LoggingModes.Custom
- Weisen Sie den CustomLogger eigenschaft zu Ihrem benutzerdefinierten Logger-Objekt
- Alle Protokollmeldungen werden an den benutzerdefinierten Logger weitergeleitet
- Ausgabe der Protokollmeldungen zur Anzeige der Protokolle
Beispiel für benutzerdefinierte Protokollierung
Um die benutzerdefinierte Protokollierungsfunktion zu nutzen, ändern Sie die Eigenschaft LoggingMode in LoggingModes.Custom. Weisen Sie anschließend die Eigenschaft CustomLogger der von Ihnen erstellten benutzerdefinierten Logger-Klasse zu.
:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging.cs
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
IronSoftware.Logger.CustomLogger = new CustomLoggerClass("logging");
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom
IronSoftware.Logger.CustomLogger = New CustomLoggerClass("logging")
Die IronPDF-Protokolle werden an das benutzerdefinierte Logger-Objekt weitergeleitet. Die Meldungen bleiben identisch mit denen des IronPDF-Loggers; werden sie einfach an den benutzerdefinierten Logger weitergeleitet. Wie der benutzerdefinierte Logger die Meldungen verwaltet, wird vom Designer des benutzerdefinierten Loggers festgelegt. Nehmen wir die folgende benutzerdefinierte Logger-Klasse als Beispiel.
:path=/static-assets/pdf/content-code-examples/how-to/custom-logging-custom-logging-class.cs
public class CustomLoggerClass : ILogger
{
private readonly string categoryName;
public CustomLoggerClass(string categoryName)
{
this.categoryName = categoryName;
}
public IDisposable BeginScope<TState>(TState state)
{
return null;
}
public bool IsEnabled(LogLevel logLevel)
{
return true;
}
public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter)
{
if (!IsEnabled(logLevel))
{
return;
}
// Implement your custom logging logic here.
string logMessage = formatter(state, exception);
// You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
// For example, you can write it to a file, console, or another destination.
// Example: Writing to the console
Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}");
}
}
Public Class CustomLoggerClass
Implements ILogger
Private ReadOnly categoryName As String
Public Sub New(ByVal categoryName As String)
Me.categoryName = categoryName
End Sub
Public Function BeginScope(Of TState)(ByVal state As TState) As IDisposable
Return Nothing
End Function
Public Function IsEnabled(ByVal logLevel As LogLevel) As Boolean
Return True
End Function
Public Sub Log(Of TState)(ByVal logLevel As LogLevel, ByVal eventId As EventId, ByVal state As TState, ByVal exception As Exception, ByVal formatter As Func(Of TState, Exception, String))
If Not IsEnabled(logLevel) Then
Return
End If
' Implement your custom logging logic here.
Dim logMessage As String = formatter(state, exception)
' You can use 'logLevel', 'eventId', 'categoryName', and 'logMessage' to log the message as needed.
' For example, you can write it to a file, console, or another destination.
' Example: Writing to the console
Console.WriteLine($"[{logLevel}] [{categoryName}] - {logMessage}")
End Sub
End Class
In diesem Fall habe ich den Protokollmeldungen zusätzliche Informationen vorangestellt.