Comment utiliser une journalisation personnalisée en C#

Comment utiliser la journalisation personnalisée dans C#;

This article was translated from English: Does it need improvement?
Translated
View the article in English

La journalisation personnalisée en C# vous permet de mettre en œuvre un système de journalisation sur mesure qui capture les événements et les messages spécifiques à l'application. Avec IronPDF, vous pouvez rediriger tous les journaux de traitement PDF vers votre logger personnalisé en définissant LoggingMode sur Custom et en attribuant votre implémentation de logger. Cette fonctionnalité vous permet d'intégrer la sortie de journalisation détaillée d'IronPdf à votre infrastructure de journalisation existante, que vous utilisiez NLog, Serilog, log4net ou une solution personnalisée.

<TODO : Ajouter une image ici -->

<Description : Diagramme ou capture d'écran illustrant le concept de code -->

La journalisation personnalisée est utile lorsque vous devez centraliser les journaux provenant de plusieurs composants, appliquer un formatage personnalisé, filtrer par niveaux de gravité ou acheminer les journaux vers des destinations spécifiques telles que des fichiers, des bases de données ou des services de surveillance. En mettant en œuvre une journalisation personnalisée avec IronPDF, vous bénéficiez d'un contrôle total sur la façon dont les événements de génération et de traitement des PDF sont suivis dans votre application.

heading:2(Quickstart : Implémenter la journalisation personnalisée avec IronPDF)

Commencez par la journalisation personnalisée en C# à l'aide d'IronPDF. Ce guide montre comment définir le LoggingMode sur Custom et le lier à votre classe de logger. Dirigez les messages IronPDF vers votre enregistreur personnalisé pour surveiller et gérer les journaux d'application. La configuration est simple et améliore les capacités de journalisation de votre application. Pour un aperçu complet des fonctionnalités d'IronPDF, consultez notre Guide de démarrage rapide.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

  2. Copiez et exécutez cet extrait de code.

    IronSoftware.Logger.LoggingMode = IronSoftware.Logger.LoggingModes.Custom;
    IronSoftware.Logger.CustomLogger = new MyCustomLogger();
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment mettre en œuvre un exemple de journalisation personnalisé?

Pour utiliser la journalisation personnalisée, remplacez la propriété LoggingMode par LoggingModes.Custom. Attribuez ensuite la propriété CustomLogger à votre classe de logger personnalisé. La traduction doit rester professionnelle et préserver l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement, ce qui permet d'intégrer avec souplesse divers cadres de journalisation et de maintenir des modèles de journalisation cohérents dans votre application.

<TODO : Ajouter une image ici -->

<Description : Capture d'écran montrant la sortie ou les résultats de l'exécution d'un code -->

La mise en œuvre nécessite un minimum d'installation. Une fois configurées, toutes les opérations d'IronPDF - y compris la conversion de HTML en PDF, la manipulation de PDF et le rendu - envoient automatiquement leurs messages de journal par l'intermédiaire de votre enregistreur personnalisé. Cette intégration vous permet de capturer des informations essentielles sur les opérations de traitement des PDF.

Pourquoi utiliser la journalisation personnalisée avec IronPDF?

: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")
$vbLabelText   $csharpLabel

Les journaux IronPDF seront dirigés vers l'objet logger personnalisé. Les messages restent identiques à ceux de l'enregistreur IronPDF ; ils sont relayés vers l'enregistreur personnalisé. L'implémentation du logger personnalisé détermine comment traiter les messages. Prenons l'exemple de la classe de logger personnalisée suivante.

La journalisation personnalisée offre plusieurs avantages pour les applications de production :

  • Gestion centralisée des journaux : Intégrez les journaux d'IronPDF à votre infrastructure de journalisation existante
  • Débogage amélioré : Capturez des informations détaillées sur les opérations PDF à des fins de dépannage
  • Surveillance des performances : suivi des temps de rendu et de l'utilisation des ressources
  • Suivi des erreurs : Capture et signale automatiquement les échecs de génération de PDF
  • <Conformité : Maintenir des pistes d'audit pour la génération de documents dans les secteurs réglementés

Pour les applications nécessitant un traitement asynchrone, la journalisation personnalisée permet de suivre les opérations PDF simultanées et d'identifier les goulets d'étranglement potentiels.

À quoi ressemble une classe d'enregistreur personnalisée?

: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
$vbLabelText   $csharpLabel

Cette implémentation suit l'interface standard Microsoft.Extensions.Logging.ILogger, ce qui la rend compatible avec l'écosystème de journalisation .NET. La classe d'enregistreurs comprend :

  • Nom de la catégorie : aide à identifier la source des messages du journal
  • Filtrage des niveaux de journalisation : Contrôle des niveaux de gravité à capturer
  • Sortie flexible : Acheminez les journaux vers n'importe quelle destination (console, fichier, base de données, etc.)
  • Gestion des exceptions : Formater et consigner correctement les détails des exceptions
  • Gestion des états : Prise en charge de la journalisation structurée avec BeginScope

Pour les scénarios avancés, explorez les options de rendu qui affectent la sortie de la journalisation, notamment lorsqu'il s'agit de conversions HTML complexes ou lorsque vous travaillez avec le moteur de rendu Chrome.

À quoi ressemble une sortie de journalisation personnalisée ?

Dans cet exemple, les messages du journal sont précédés d'informations supplémentaires.

Console de débogage Visual Studio montrant les journaux de déploiement IronPdf avec l'initialisation du client Chrome et le chargement des bibliothèques

La sortie de la console montre comment la journalisation personnalisée fournit des informations détaillées sur les opérations internes d'IronPDF. Vous pouvez voir :

  • Étapes d'initialisation du client Chrome
  • Création de candidats au déploiement
  • Séquences de chargement de bibliothèques natives
  • Confirmations de déploiement de composants réussies

Ce niveau de détail est inestimable pour déboguer les problèmes de génération de PDF ou optimiser les performances. Le format structuré facilite l'analyse programmatique des journaux ou leur intégration dans des outils d'analyse de journaux.

Bonnes pratiques pour la mise en œuvre de la journalisation personnalisée

Lors de la mise en œuvre de la journalisation personnalisée avec IronPDF, tenez compte de ces meilleures pratiques :

  1. <Utilisez des niveaux de journalisation appropriés : Configurez votre enregistreur pour capturer le bon niveau de détail sans surcharger le stockage des journaux
  2. Inclure des informations contextuelles : Ajoutez des identifiants de demande, des informations sur l'utilisateur ou des détails de transaction pour corréler les opérations PDF
  3. Gérer les données sensibles : veillez à ce que votre enregistreur n'expose pas les informations confidentielles contenues dans les fichiers PDF
  4. Surveiller les performances : suivre les temps de génération des PDF pour identifier les possibilités d'optimisation
  5. Configurer des alertes : Configurez des notifications en cas d'erreurs critiques ou de dégradation des performances

Pour les déploiements en production, notamment lors de l'utilisation de clés de licence, une journalisation appropriée garantit le bon déroulement des opérations et la résolution rapide des problèmes.

Dépannage des problèmes de journalisation courants

Si vous rencontrez des problèmes avec la journalisation personnalisée :

  • Vérifiez que votre logger implémente correctement l'interface ILogger
  • Vérifiez que LoggingMode est défini avant toute opération sur IronPDF
  • Veillez à ce que votre enregistreur soit sûr pour les opérations simultanées
  • Vérifier les autorisations du journal en cas d'écriture sur des fichiers ou des systèmes externes

Pour des ressources de dépannage supplémentaires, consultez notre guide de dépannage ou explorez la référence API pour une documentation détaillée sur les propriétés et méthodes de journalisation.

Prêt à voir ce que vous pouvez faire d'autre? Consultez notre page de didacticiels ici : Fonctionnalités supplémentaires

Questions Fréquemment Posées

Qu'est-ce que la journalisation personnalisée en C# et comment fonctionne-t-elle avec le traitement des PDF ?

La journalisation personnalisée en C# avec IronPDF vous permet de mettre en œuvre un système de journalisation sur mesure qui capture les événements et les messages de traitement PDF. En définissant LoggingMode sur Custom et en attribuant votre implémentation de logger, IronPDF redirige tous les logs de génération et de manipulation de PDF vers votre logger personnalisé, ce qui permet l'intégration avec une infrastructure de logging existante telle que NLog, Serilog ou log4net.

Comment activer la journalisation personnalisée pour les opérations PDF ?

Pour activer la journalisation personnalisée avec IronPDF, réglez IronSoftware.Logger.LoggingMode sur LoggingModes.Custom et attribuez votre classe de logger personnalisé à IronSoftware.Logger.CustomLogger. Une fois configurées, toutes les opérations d'IronPDF, y compris la conversion de HTML en PDF et la manipulation de PDF, enverront automatiquement leurs messages de journalisation par l'intermédiaire de votre enregistreur personnalisé.

Quels sont les avantages de la mise en œuvre d'une journalisation personnalisée pour la génération de PDF ?

La journalisation personnalisée avec IronPDF offre un contrôle complet sur la façon dont les événements de traitement des PDF sont suivis. Il vous permet de centraliser les journaux provenant de plusieurs composants, d'appliquer un formatage personnalisé, de filtrer par niveaux de gravité et d'acheminer les journaux vers des destinations spécifiques telles que des fichiers, des bases de données ou des services de surveillance, améliorant ainsi les capacités de journalisation de votre application.

Puis-je intégrer des journaux de traitement PDF dans des cadres de journalisation existants ?

Oui, la fonction de journalisation personnalisée d'IronPDF s'intègre de manière transparente avec les cadres de journalisation populaires, notamment NLog, Serilog, log4net, ou toute solution de journalisation personnalisée. Cela garantit des modèles de journalisation cohérents dans votre application tout en capturant des informations critiques sur les opérations de traitement des PDF.

Quel est le flux de travail minimal pour mettre en œuvre la journalisation personnalisée ?

Le flux de travail minimal comprend 5 étapes : Téléchargez IronPDF depuis NuGet, définissez LoggingMode sur LoggingModes.Custom, attribuez CustomLogger à votre objet logger personnalisé, et tous les messages de log seront transmis à votre logger personnalisé. Enfin, sortez les messages de log pour voir les logs des opérations IronPDF.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 16,685,821 | Version : 2025.12 vient de sortir