J'ai besoin d'un wrapper log4net - pour être exposé à un certain nombre de composants différents dans une grande application. Je veux évidemment conserver le nom de la classe et de la méthode lors de la journalisation, mais je me tiens à l'écart du type de descente, etc. à mon enveloppe.
J'ai consulté Cette question qui est très similaire à la mienne, mais ça n'a pas aidé. P>
Je l'ai vu fait dans cette autre question avec smt comme suit: p> Ce n'est pas idéal car il n'utilise pas la touche The Out-of The-Box Fonctionnalité Log4Net. P> J'aimerais avoir une idée de la façon dont les gens le font avant d'aller pour la tangente et de venir avec quelque chose de très compliqué. Tous les pointeurs (liens / ressources / échantillons) appréciés! P> p>
3 Réponses :
J'ajouterais habituellement quelque chose que ça ... (c'est toutes les fonctionnalités dont j'ai besoin) Vous pouvez toujours créer un wrapper pour log4net qui prend tous les params dont vous avez besoin (comme méthodybase)? < / p> p>
Merci - je voudrais éviter de passer du type et de la méthodeName.
log4net vous permet d'accéder à un nom de méthode par exemple comme cette méthode%. Ce n'est pas l'opération la plus rapide, mais si vous avez besoin de déboguer quelque chose, vous pouvez très bien l'utiliser. Je crois que votre question concerne le fait que Log4Net ne produira pas le nom de méthode correct si vous utilisez une enveloppe.
Pour résoudre ce problème, vous devez regarder comment Log4net a écrit la mise en œuvre évidemment, il y a encore certaines choses à faire, mais les points importants sont mentionnés. P> p> iLog code>. Ceci est fondamentalement une enveloppe autour de l'enregistreur Log4net interne et donc le même problème s'applique à la mise en œuvre
ILog code>. J'ai fait fondamentalement les éléments suivants: p>
Bonjour, cela échoue en mode de sortie. Il sauve simplement "?" dans le nom de la classe et le nom de la méthode. Avez-vous rencontré un tel problème? Si oui, une idée?
Jamais eu ce problème. Je pouvais imaginer que le compilateur s'inlande de votre méthode?
Ouais, la documentation Log4Net suggère également la même chose à dire à l'aide de System.Diagnostics.StackTrace qui fonctionne différemment en mode de sortie :-(
Créez votre classe wrapper comme celle-ci ... p>
xxx pré> Configurez votre fichier log4net.config de la manière suivante ... p> blockQuote>
xxx pré> Utilisez maintenant simplement ces méthodes telles que celle-ci ... p> blockQuote>
xxx pré> blockQuote>
J'aime cette solution mais cela ne fonctionne pas avec des méthodes statiques. Aucune suggestion?