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 :
- Ouvrir Enterprise Library Configuration
- Créer une nouvelle application
- Ajouter Logging Application Block
- 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
- Exécuter le script SQL fourni (LoggingDatabase.sql)
- 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);
}
}