Implémentation de la journalisation avec Enterprise Library

Introduction au bloc de journalisation

Le bloc de journalisation d'Enterprise Library offre un mécanisme flexible pour l'enregistrement des événements dans les applications .NET (WinForms, ASP.NET, applications console). Il inclut des traceurs réutilisables permettant de stocker les journaux dans des bases de données, ficheirs XML, fichiers texte ou le journal des événements Windows.

Configurasion de base

Après installation d'Enterprise Library 3.1, référencer ces assemblies :

  • Microsoft.Practices.EnterpriseLibrary.Common.dll
  • Microsoft.Practices.EnterpriseLibrary.Logging.dll
  • Microsoft.Practices.EnterpriseLibrary.Data.dll (pour la journalisation en base)

Exemple minimal avec journal des événements

Configuration App.config :

<configuration>
  <configSections>
    <section name="loggingConfiguration" 
             type="Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, ..."/>
  </configSections>
  
  <loggingConfiguration defaultCategory="Général">
    <listeners>
      <add name="JournalÉvénements" 
           type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FormattedEventLogTraceListener...">
      </add>
    </listeners>
    <categorySources>
      <add name="Général">
        <listeners>
          <add name="JournalÉvénements"/>
        </listeners>
      </add>
    </categorySources>
  </loggingConfiguration>
</configuration>

Code C# pour l'enregistrement :

private void EnregistrerJournal_Click(object sender, EventArgs e)
{
  var entrée = new LogEntry
  {
    EventId = 1001,
    Priority = 2,
    Message = "Message de test",
    Catégorie = "Général"
  };
  
  Logger.Write(entrée);
}

Utilisation de l'outil de configuration

L'outil de cnofiguration simplifie la création des paramètres :

  1. Ouvrir Enterprise Library Configuration
  2. Créer une nouvelle application
  3. Ajouter Logging Application Block
  4. Configurer les sources, traceurs et formateurs

Journalisation XML

Ajouter un traceur XML :

<listeners>
  <add name="TraceurXML" 
       type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.XmlTraceListener..."
       fileName="Journaux/Trace.xml"/>
</listeners>

Stockage en base de données

  1. Exécuter le script SQL fourni (LoggingDatabase.sql)
  2. Configurer le traceur de base :
<listeners>
  <add name="TraceurBase" 
       type="Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.DatabaseTraceListener..."
       databaseInstanceName="ConnexionJournalisation"
       formatter="FormateurTexte"/>
</listeners>

<connectionStrings>
  <add name="ConnexionJournalisation" 
       connectionString="Data Source=.;Initial Catalog=LoggingDB;Integrated Security=True"/>
</connectionStrings>

Création de traceurs personnalisés

Dériver de la classe CustomTraceListener :

public class TraceurPersonnalisé : CustomTraceListener
{
  public override void Write(string message)
  {
    // Implémentation personnelle
  }

  public override void WriteLine(string message)
  {
    Write(message + Environment.NewLine);
  }
}

Étiquettes: EnterpriseLibrary .NET journalisation TraceListener Configuration

Publié le 13 juin à 07h08