Log4net est la version .net d'Apache log4j. Il s'agit d'un ensemble de moteurs de journalisation de configuration XML. Récemment, il y a eu un programme qui nécessitait un système de journalisation. Pour faciliter l'intégration, j'ai décidé de l'étudier. Merci à Hao Wei pour la recommandation.
Le système log4net est divisé en 7 niveaux de journalisation. S'il est défini sur "WARN", DEBUG et INFO ne seront pas enregistrés. Comme suit :
1. ALL
2. DEBUG
3. INFO
4. WARN
5. ERROR
6. FATAL
7. OFF
Création de l'exemple d'application
Étape 1 : Téléchargez log4net
et accédez à logging.apache.org/log4net pour obtenir leur dernière version. Dans l'exemple que j'ai utilisé incubating-log4net-1.2.9-beta.zip, j'attends avec impatience la version officielle.
Étape 2 : Créez une application Web ASP.NET.
Je n'entrerai pas dans les détails de sa création, comme indiqué dans log4net-1.2.0-beta8binnet. Recherchez la DLL correspondante et ajoutez-la à la référence. Certaines versions n'ont pas de DLL compilée, alors compilez-la vous-même et utilisez la version .NET V1.0 pour la convertir en 1.1 ou 2.0. Je pense que ce n'est pas une erreur de travail, mais intentionnelle. Beaucoup de gens habitués à jouer à Java sont comme ça.
Configuration de l'exemple d'application
Étape 3 : ajoutez des informations sur l'assembly.
Ouvrez le fichier AssemblyInfo.cs et ajoutez :
[assembly : log4net.Config.DOMConfigurator()]
Cette phrase signifie que le système log4net recherchera automatiquement le fichier de configuration Web.config pour obtenir et charger les informations de configuration. Si vous souhaitez que log4net surveille le fichier de configuration à tout moment pour le recharger, ce sera un peu plus gênant. Vous devez écrire comme ceci :
[assembly:log4net.Config.DOMConfigurator(ConfigFile="filename",ConfigFileExtension="log4net",Watch=true)]
Étape 4 : Pour ajouter des informations de configuration
, vous devez modifier le fichier Web.config. Je suis vraiment surpris à chaque fois. Je le vois. Trouvez la balise de configuration et écrivez configSections immédiatement en dessous (sans tenir compte des autres du tout, et si quelqu'un est aussi dominateur que lui ? Ensuite, écrivez simplement son fichier de configuration du journal ! Je suppose qu'APACHE est comme ça, pensez). Jetez un œil à un exemple :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler, log4net-net-1.0"
/>
</configSections >
<!-- Cette section contient les paramètres de configuration de log4net -->
<log4net>
<!-- Définir certains appenders de sortie -->
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
<layout type=" log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] <%X{auth}> - %m%n" />
< /layout>
</appender>
<!-- RollingFileAppender s'occupe du roulement des fichiers par taille ou par date -->
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value= "C:\log\RollingLogHelloWorld.log" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" valeur ="1000" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name= "ConversionPattern" value="%d [%t] %-5p %-45c [%x] - %m%n" />
</layout>
</appender>
<!-- FileAppender s'ajoute à un journal et il est géré manuellement ou taille -->
<appender name="FileAppender" type="log4net.Appender.FileAppender">
<param name="File" value="LogHelloWorld.log" />
<!-- Exemple d'utilisation de variables d'environnement dans params -->
<!-- <param name="File" value="${TMP}\ApplicationKit.log" /> -->
<param name="AppendToFile" value="true" />
<layout type= "log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
< !-- Configurez la catégorie racine, ajoutez les appenders et définissez le niveau par défaut -->
<root>
<level value="INFO" />
<appender-ref ref="ConsoleAppender" />
</root>
<!-- Catégorie ApplicationKit - l'interface utilisateur de présentation -->
<logger name="WebForm1">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
</log4net>
</configuration>
Notez que l'attribut NAME du nœud Logger est défini sur WebForm1, qui fait référence au nom de la classe. Ajoutez un tel nœud à chaque classe qui doit ajouter LOG. Je pense au flux de travail OSWORKFLOW. La flexibilité, la commodité et l'aspect pratique ne peuvent souvent pas être obtenus en même temps. Le niveau ici est INFO, c'est-à-dire que tout ce qui se trouve en dessous de INFO ne sera pas enregistré.
Exécution de l'exemple d'application
Étape 5 : Pour ajouter une classe Log,
ajoutez d'abord une référence
en utilisant log4net ; en utilisant log4net.Config ; //Ensuite, si vous étudiez attentivement le fichier de configuration, cette méthode de déclaration est facile à comprendre : private static readonly ILog log = LogManager. . GetLogger("WebForm1");
Étape 6 : Utilisation de l'objet Log
. Maintenant, tout le travail de configuration est terminé. L'étape suivante consiste à le tester et à le connecter à la couche application. Ajoutez simplement un bouton dans le gestionnaire d’événements de réponse Button1_Click.
log.Info("Bonjour tout le monde, je suis un enregistreur");
Étape 7 : Exécutez l'application
. Elle peut maintenant être exécutée. Elle devrait ressembler à ceci :
Chaque fois que vous cliquez sur le bouton,2006-02-13 10:12:30,671 [1228] INFO WebForm1 [] - Bonjour
apparaîtra dans le fichier de date. .
Monde, je suis un bûcheron, c'est un tel record.
Résumé :
C'est simple et facile à utiliser. Étudions le journal SQL après un moment. La base de données est la meilleure, haha.
Pour plus d'informations, consultez http://logging.apache.org/log4net/