Benutzerdefiniertes Logging in C# implementieren
Mit benutzerdefiniertem Logging in C# können Sie ein maßgeschneidertes Protokollierungssystem implementieren, das anwendungsspezifische Ereignisse und Meldungen erfasst. Mit IronPDF leiten Sie alle PDF-Verarbeitungsprotokolle an Ihren benutzerdefinierten Logger um, indem Sie LoggingMode auf Custom setzen und Ihre Logger-Implementierung zuweisen. Mit dieser Funktion integrieren Sie die detaillierte Protokollierungsausgabe von IronPDF in Ihre bestehende Protokollierungsinfrastruktur — unabhängig davon, ob Sie NLog, Serilog, log4net oder eine eigene Lösung verwenden.
Benutzerdefinierte Protokollierung ist nützlich, wenn Sie Protokolle von mehreren Komponenten zentralisieren, benutzerdefinierte Formatierungen anwenden, nach Schweregrad filtern oder Protokolle an bestimmte Ziele wie Dateien, Datenbanken oder Überwachungsdienste weiterleiten müssen. Durch die Implementierung einer benutzerdefinierten Protokollierung mit IronPDF erhalten Sie die vollständige Kontrolle darüber, wie PDF-Erzeugungs- und Verarbeitungsereignisse in Ihrer Anwendung verfolgt werden.
Schnellstart: Benutzerdefinierte Protokollierung mit IronPDF implementieren
Beginnen Sie mit der benutzerdefinierten Protokollierung in C# mit IronPDF. Diese Anleitung zeigt, wie Sie LoggingMode auf Custom setzen und es mit Ihrer Logger-Klasse verknüpfen. Leiten Sie IronPDF-Nachrichten an Ihren benutzerdefinierten Logger, um Anwendungsprotokolle zu überwachen und zu verwalten. Die Einrichtung ist einfach und verbessert die Protokollierungsfunktionen Ihrer Anwendung. Einen umfassenden Überblick über die Funktionen von IronPDF finden Sie in unserem Quickstart Guide.
-
Installieren Sie IronPDF mit NuGet Package Manager
PM > Install-Package IronPdf -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom; IronSoftware.Logger.CustomLogger = new MyCustomLogger(); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (5 Schritte)
- IronPDF von NuGet herunterladen
- Setzen Sie die **`LoggingMode`** Eigenschaft auf `LoggingModes.Custom`
- Weisen Sie die Eigenschaft **`CustomLogger`** Ihrem benutzerdefinierten Logger-Objekt zu
- Alle Logmeldungen werden an den benutzerdefinierten Logger weitergeleitet
- Geben Sie die Logmeldungen aus, um die Protokolle zu sehen
Wie implementiere ich ein eigenes Logging-Beispiel?
Um die benutzerdefinierte Protokollierung zu verwenden, ändern Sie die Eigenschaft LoggingMode auf LoggingModes.Custom. Weisen Sie dann die Eigenschaft CustomLogger Ihrer benutzerdefinierten Logger-Klasse zu. Dies bietet Flexibilität für die Integration mit verschiedenen Logging-Frameworks und sorgt für konsistente Logging-Muster in Ihrer Anwendung.
Die Implementierung erfordert eine minimale Einrichtung. Einmal konfiguriert, senden alle IronPDF-Vorgänge - einschließlich der Konvertierung von HTML in PDF, der PDF-Bearbeitung und des Renderings - ihre Protokollmeldungen automatisch über Ihren benutzerdefinierten Logger. Diese Integration stellt sicher, dass Sie wichtige Informationen über PDF-Verarbeitungsvorgänge erfassen.
Warum sollte ich Custom Logging mit IronPDF verwenden?
: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; sie werden an den benutzerdefinierten Logger weitergeleitet. Die benutzerdefinierte Logger-Implementierung bestimmt, wie die Nachrichten zu behandeln sind. Betrachten Sie das folgende Beispiel einer benutzerdefinierten Logger-Klasse.
Die benutzerdefinierte Protokollierung bietet mehrere Vorteile für Produktionsanwendungen:
- Zentrales Log Management: Integrieren Sie IronPDF Logs in Ihre bestehende Logging-Infrastruktur
- Verbessertes Debugging: Erfassen detaillierter Informationen über PDF-Vorgänge zur Fehlersuche
- Performance Monitoring: Rendering-Zeiten und Ressourcennutzung verfolgen
- Fehlerverfolgung: Automatisches Erfassen und Melden von Fehlern bei der PDF-Generierung
- Einhaltung von Vorschriften: Aufrechterhaltung von Prüfpfaden für die Dokumentenerstellung in regulierten Branchen
Bei Anwendungen, die eine asynchrone Verarbeitung erfordern, hilft die benutzerdefinierte Protokollierung, gleichzeitige PDF-Vorgänge zu verfolgen und potenzielle Engpässe zu erkennen.
Wie sieht eine benutzerdefinierte Logger-Klasse aus?
: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
Diese Implementierung folgt der Standard-Microsoft.Extensions.Logging.ILogger-Schnittstelle und ist somit mit dem .NET -Logging-Ökosystem kompatibel. Die Logger-Klasse umfasst:
- Kategoriename: Hilft bei der Identifizierung der Quelle von Protokollmeldungen
- Protokollstufen-Filterung: Steuerung der zu erfassenden Schweregrade
- Flexible Ausgabe: Leiten Sie Protokolle an ein beliebiges Ziel (Konsole, Datei, Datenbank usw.)
- Ausnahmebehandlung: Richtiges Formatieren und Protokollieren von Ausnahmedetails
- Zustandsverwaltung : Unterstützung für strukturierte Protokollierung mit
BeginScope
Für fortgeschrittene Szenarien sollten Sie sich mit den Rendering-Optionen befassen, die sich auf die Protokollierung auswirken, insbesondere bei komplexen HTML-Konvertierungen oder bei der Arbeit mit der Chrome Rendering Engine.
Wie sieht die benutzerdefinierte Logging-Ausgabe aus?
In diesem Beispiel werden den Protokollmeldungen zusätzliche Informationen vorangestellt.
Die Konsolenausgabe zeigt, wie die benutzerdefinierte Protokollierung detaillierte Einblicke in die internen Abläufe von IronPDF bietet. Sie können es sehen:
- Initialisierungsschritte des Chrome-Clients
- Erstellung von Einführungskandidaten
- Sequenzen zum Laden nativer Bibliotheken
- Bestätigungen für die erfolgreiche Bereitstellung von Komponenten
Diese Detailgenauigkeit ist von unschätzbarem Wert, wenn es darum geht, Probleme bei der PDF-Erzeugung zu beheben oder die Leistung zu optimieren. Das strukturierte Format macht es einfach, Protokolle programmatisch zu analysieren oder in Protokollanalysetools zu integrieren.
Best Practices für die benutzerdefinierte Protokollierung
Beachten Sie bei der Implementierung der benutzerdefinierten Protokollierung mit IronPDF die folgenden Best Practices:
- Verwenden Sie geeignete Protokollierungsebenen: Konfigurieren Sie Ihren Logger so, dass er die richtige Detailstufe erfasst, ohne den Protokollspeicher zu überlasten
- Kontextuelle Informationen einbeziehen: Fügen Sie Anfrage-IDs, Benutzerinformationen oder Transaktionsdetails hinzu, um PDF-Vorgänge zu korrelieren
- Handhabung sensibler Daten: Stellen Sie sicher, dass Ihr Logger keine vertraulichen Informationen aus PDF-Inhalten preisgibt
- Leistungsüberwachung: Verfolgen Sie die PDF-Erzeugungszeiten, um Optimierungsmöglichkeiten zu ermitteln
- Warnungen einrichten: Konfigurieren Sie Benachrichtigungen für kritische Fehler oder Leistungseinbußen
Bei Produktionseinsätzen, insbesondere bei der Verwendung von Lizenzschlüsseln, sorgt eine ordnungsgemäße Protokollierung für reibungslose Abläufe und eine schnelle Problemlösung.
Fehlerbehebung bei allgemeinen Protokollierungsproblemen
Wenn Sie Probleme mit der benutzerdefinierten Protokollierung haben:
- Überprüfen Sie, ob Ihr Logger die
ILogger-Schnittstelle korrekt implementiert. - Prüfen Sie, ob
LoggingModevor allen IronPDF-Operationen gesetzt ist. - Stellen Sie sicher, dass Ihr Logger thread-sicher für gleichzeitige Operationen ist.
- Überprüfen Sie die Log-Berechtigungen, wenn Sie in Dateien oder externe Systeme schreiben.
Weitere Ressourcen zur Fehlerbehebung finden Sie in unserem Leitfaden zur Fehlerbehebung oder in der API-Referenz mit einer ausführlichen Dokumentation zu den Eigenschaften und Methoden der Protokollierung.
Bereit zu sehen, was Sie sonst noch tun können? Sehen Sie sich hier unsere Tutorial-Seite an: Zusätzliche Funktionen
Häufig gestellte Fragen
Was ist Custom Logging in C# und wie funktioniert es mit der PDF-Verarbeitung?
Mit dem Custom Logging in C# mit IronPDF können Sie ein maßgeschneidertes Logging-System implementieren, das Ereignisse und Meldungen der PDF-Verarbeitung erfasst. Indem Sie LoggingMode auf Custom setzen und Ihre Logger-Implementierung zuweisen, leitet IronPDF alle PDF-Erzeugungs- und -Bearbeitungsprotokolle an Ihren benutzerdefinierten Logger weiter und ermöglicht so die Integration in eine bestehende Logging-Infrastruktur wie NLog, Serilog oder log4net.
Wie aktiviere ich die benutzerdefinierte Protokollierung für PDF-Vorgänge?
Um die benutzerdefinierte Protokollierung mit IronPDF zu aktivieren, setzen Sie IronSoftware.Logger.LoggingMode auf LoggingModes.Custom und weisen Sie Ihre benutzerdefinierte Logger-Klasse IronSoftware.Logger.CustomLogger zu. Nach der Konfiguration werden alle IronPDF-Vorgänge, einschließlich der HTML-zu-PDF-Konvertierung und der PDF-Bearbeitung, automatisch über den benutzerdefinierten Logger protokolliert.
Welche Vorteile bietet die Implementierung einer benutzerdefinierten Protokollierung für die PDF-Generierung?
Die benutzerdefinierte Protokollierung mit IronPDF bietet vollständige Kontrolle darüber, wie PDF-Verarbeitungsereignisse verfolgt werden. Sie können Protokolle aus mehreren Komponenten zentralisieren, benutzerdefinierte Formatierungen anwenden, nach Schweregrad filtern und Protokolle an bestimmte Ziele wie Dateien, Datenbanken oder Überwachungsdienste weiterleiten, um die Protokollierungsfunktionen Ihrer Anwendung zu verbessern.
Kann ich PDF-Verarbeitungsprotokolle in bestehende Logging-Frameworks integrieren?
Ja, die benutzerdefinierte Logging-Funktion von IronPDF lässt sich nahtlos in gängige Logging-Frameworks wie NLog, Serilog, log4net oder jede andere benutzerdefinierte Logging-Lösung integrieren. Dies gewährleistet konsistente Logging-Muster in Ihrer gesamten Anwendung und erfasst gleichzeitig wichtige Informationen über PDF-Verarbeitungsvorgänge.
Wie sieht der minimale Arbeitsablauf für die Implementierung einer benutzerdefinierten Protokollierung aus?
Der minimale Arbeitsablauf umfasst 5 Schritte: Laden Sie IronPDF von NuGet herunter, setzen Sie LoggingMode auf LoggingModes.Custom, weisen Sie CustomLogger Ihrem benutzerdefinierten Logger-Objekt zu, und alle Protokollmeldungen werden an Ihren benutzerdefinierten Logger weitergeleitet. Schließlich geben Sie die Protokollmeldungen aus, um die Protokolle der IronPDF-Vorgänge anzuzeigen.

