Comment faire pour se connecter en C # avec Log4net

Quand tu écris code informatique en C #, c'est une bonne idée d'inclure du code de journalisation. De cette façon, lorsque quelque chose ne va pas, vous savez par où commencer. Le monde Java fait cela depuis des années. Vous pouvez utiliser log4net à cet effet. Il fait partie d'Apache log4j 2, un framework de journalisation open source populaire.

Ce n'est pas le seul cadre de journalisation .NET; il y a beaucoup de. Cependant, le Apache Le nom est approuvé et le cadre de journalisation Java d'origine existe depuis plus de 15 ans.

Pourquoi utiliser un cadre de journalisation Log4net?

Lorsqu'une application ou un serveur plante, vous vous demandez pourquoi. S'agit-il d'une défaillance matérielle, d'un malware, peut-être d'une attaque par déni de service, ou d'une étrange combinaison de clés qui parvient à contourner toutes vos vérifications de code? Tu ne sais pas.

Vous devez savoir pourquoi un crash s'est produit afin qu'il puisse être corrigé. Avec la journalisation activée, vous pourrez peut-être voir pourquoi cela s'est produit.

instagram viewer

Commencer

Téléchargez le fichier log4net depuis le site Web d'Apache log4net. Vérifiez l'intégrité des fichiers téléchargés à l'aide de la signature PGP ou des sommes de contrôle MD5. Les sommes de contrôle ne sont pas des indicateurs aussi forts que la signature PGP.

Utilisation de Log4net

Log4net prend en charge sept niveaux de journalisation de zéro à tous en priorité croissante. Ceux-ci sont:

  1. DE
  2. FATAL
  3. ERREUR
  4. PRÉVENIR
  5. INFO
  6. DÉBOGUER
  7. TOUT

Les niveaux supérieurs incluent tous les niveaux inférieurs. Lors du débogage, utilisation DÉBOGUER montre tout, mais en production, vous pourriez ne vous intéresser qu'à FATAL. Ce choix peut être effectué au niveau du composant par programme ou dans un fichier de configuration XML.

Enregistreurs et appenders

Pour plus de flexibilité, log4net utilise des enregistreurs, des appendeurs et des dispositions. Un enregistreur est un objet qui contrôle la journalisation et est une implémentation de l'interface ILog, qui spécifie cinq méthodes booléennes: isDebugEnabled, IsInfoEnabled, IsWarnEnabled, IsErrorEnabled et IsFatalEnabled. Il spécifie également les cinq méthodes — Debug, Info, Warn, Error etFatal — ainsi que les surcharges et cinq versions de chaînes formatées. Vous pouvez voir l'interface ILog complète dans le manuel en ligne log4net.

Les enregistreurs se voient attribuer l'un des niveaux, mais pas TOUS ou NON, uniquement les cinq autres.

Les annexes contrôlent où va la journalisation. Il peut être dans une base de données, dans un tampon en mémoire, dans la console, dans un hôte distant, dans un fichier texte avec des journaux de roulement, le journal des événements Windows ou même dans un courrier électronique via SMTP. Il y a 22 appends en tout, et ils peuvent être combinés afin que vous ayez beaucoup de choix. Les annexes sont ajoutées (d'où le nom) à un enregistreur.

Les ajouteurs filtrent les événements en faisant correspondre les sous-chaînes, le niveau d'événement, la plage de niveaux et le début du nom de l'enregistreur.

Disposition

Enfin, sept mises en page peuvent être associées à un Appender. Ceux-ci contrôlent la façon dont le message de l'événement est enregistré et peuvent inclure du texte d'exception, des dispositions d'horodatage et Éléments XML.

Configuration avec XML

Bien que la configuration puisse être effectuée par programme, elle peut également être effectuée avec des fichiers de configuration XML. Pourquoi préféreriez-vous les fichiers de configuration aux changements de code? C'est simple, il est beaucoup plus facile de demander à un technicien d'assistance de modifier un fichier de configuration que de demander à un programmeur de modifier le code, de tester et de redéployer une nouvelle version. Les fichiers de configuration sont donc la voie à suivre. Le chemin le plus simple possible consiste à ajouter App.config à votre projet, comme indiqué dans l'exemple ci-dessous:

1.0utf-8





















La documentation en ligne de log4net explique tous les champs du fichier de configuration. Après avoir configuré App.config, ajoutez à l'aide de log4net et de cette ligne:

[assemblage: log4net. Config. XmlConfigurator (Watch = true)]

De plus, l'enregistreur réel doit être récupéré avec un appel à LogManager. GetLogger (...). Le GetLogger est généralement appelé avec le typeof (classe) dans lequel il est utilisé, mais cet appel de fonction récupère également les éléments suivants:

Système. Réflexion. MethodBase. GetCurrentMethod (). DeclaringType

Cet exemple montre les deux avec un commentaire, vous pouvez donc choisir.

en utilisant log4net;
[assemblage: log4net. Config. XmlConfigurator (Watch = true)]
espace de noms gvmake
{
Programme de cours
{
private static readonly ILog log = LogManager. GetLogger (système. Réflexion. MethodBase. GetCurrentMethod
() .DeclaringType);
// private static readonly ILog log = LogManager. GetLogger (type de (Programme));
statique void Main (chaîne [] args)
{
Journal. Debug ("Application Starting");
}
}
}

instagram story viewer