Je voudrais vraiment apprécier si quelqu'un a clarifié ma confusion. Je fais mon stage dans une entreprise qui développe et surveille des systèmes de rechargement prépayés dans .NET framework et nous utilisons C# actuellement, et je suis nécessaire pour rechercher log4net et les aider à élever leur cadre de journalisation de la simple journalisation à la journalisation avancée avec plusieurs appenders et mises en page. Jusqu'à présent, on m'a dit d'enquêter sur log4net. J'ai lu des tutoriels et basiquement je l'ai fait avec l'application de la console et aussi l'application web simple, mais le problème est la journalisation se produit lorsque je lance l'application et je ne veux pas parce que les applications fonctionnent déjà sur un serveur. Quelqu'un me dit gentiment un moyen d'accomplir la journalisation sans avoir besoin de déboguer les applications et de le faire se connecter au point d'entrée. Je suis assez confus parce que je suis nouveau dans tout ça. Merci d'avanceComment configurer log4net pour les applications que nous développons et exécutons sur nos serveurs?
Comment configurer log4net pour les applications que nous développons et exécutons sur nos serveurs?
Répondre
S'ils veulent utiliser log4net, ils seront heureux de redémarrer un programme mis à jour sur le serveur. Après tout, vous voulez réellement ajouter la journalisation au programme que vous voulez connecté. Avec cela, si vous utilisez un fichier de configuration log4net, votre programme va écouter ce fichier et vous pouvez le changer quand vous voulez sans redémarrer ou recompiler l'application. Cela entre en vigueur immédiatement, de sorte que vous obtenez une grande flexibilité.
Si vous souhaitez surveiller les éléments de manière centralisée, vous pouvez envisager de tout consigner dans une base de données. J'utilise Log4View (programme commercial) avec leur TCP distant, ce qui est sympa.
Ce que vous devez construire est un récepteur. Log4net a une architecture de plugin qui supporte ce que vous décrivez. Plus de documentation est ici:
http://logging.apache.org/log4net/release/manual/plugins.html
Extrait:
RemoteLoggingServerPlugin
Crée un puits de connexion à distance qui peut recevoir l'enregistrement des événements d'une RemotingAppender. Crée un récepteur d'enregistrement à distance . Un seul paramètre doit être passé au constructeur que spécifie l'URI de puits. Il s'agit d'un nom utilisé pour identifier l'objet de journalisation publié via la communication à distance et doit être convenu avec le client avant que la communication puisse avoir lieu.
Exemple d'utilisation:
LogManager.GetRepository().PluginMap.Add
(new RemoteLoggingServerPlugin("LoggingSink"));
merci code4life je vais regarder dans celui-ci.la documentation contient des informations minimales pour un débutant mais je vais google et essayer et trouver des articles détaillés. – Precious
grâce micheal pour la réponse immédiate. Je dirigerai mes recherches vers la configuration de log4net au format xml. Encore une question. Si je configure log4net en utilisant le fichier xml, dois-je le mettre dans le répertoire racine de chaque application? ou je peux simplement enregistrer dans mon répertoire et le référencer dans mon assembly en le dirigeant vers l'emplacement (tel que "C: //logfile.config") afin que je puisse créer le fichier de configuration une fois et ne pas copier à toutes les applications. Est-ce que c'est possible? – Precious
Si vous le placez dans le même répertoire que l'exécutable, vous pouvez aller à AssemblyInfo.cs et ajouter une ligne de code pour le surveiller. Sinon, vous devrez câbler la configuration manuellement. J'espère que ça aide! –