Je suis mettre en œuvre un formatter XML personnalisé pour log4.netcomment se connecter nom de la méthode lors de l'utilisation classe wrapper avec Log4net
public class ISDSApplicationEventsLayout : XmlLayoutBase
{
protected override void FormatXml(...)
{
//Location Info
writer.WriteStartElement("Method");
writer.WriteString(**loggingEvent.LocationInformation.MethodName * *);
writer.WriteEndElement();
}
}
Le problème est ... maintenant quand je l'appelle méthode du journal de ma classe wrapper journal. .. appelée exploitation forestière
public static void logEvent(string message)
{
log.Info(isdsLog);
}
Je reçois la sortie ....
<Method>logEvent</Method>
Comment est-il possible d'avoir le nom de la méthode qui a appelé LogEvent, plutôt que LogEvent comme nom de la méthode?
Merci
Question Mise à jour:
Si cela semble au-dessus un peu compliqué - ce que je vous demande vraiment est: Comment gardez-vous le contexte de la méthode qui a appelé la fonction d'enregistrement d'emballage en log4net ...
exemple ... méthode DoWork() ... appelle -> wrapper d'enregistrement -> appels log4net ....
Comment faites-vous MethodName = DoWork et ne pas vous déconnecter WRA fonction pper ....
Copie possible de [Lors de l'utilisation de wrapper, comment conserver le nom de la classe et de la méthode pour Log4Net à enregistrer?] (Http: // stackoverflow.com/questions/2049992/when-using-wrapper-comment-préserver-class-and-method-name-for-log4net-to-log) –