So protokollieren Sie den Methodennamen bei Verwendung der Wrapper-Klasse mit Log4net
Ich implementiere einen benutzerdefinierten XML-Formatierer für log4.net
public class ISDSApplicationEventsLayout : XmlLayoutBase
{
protected override void FormatXml(...)
{
//Location Info
writer.WriteStartElement("Method");
writer.WriteString(**loggingEvent.LocationInformation.MethodName * *);
writer.WriteEndElement();
}
}
Das Problem ist ... jetzt, wenn ich die Protokollmethode aus meiner Protokoll-Wrapper-Klasse aufrufe ... die Protokollierung
public static void logEvent(string message)
{
log.Info(isdsLog);
}
Ich bekomme die Ausgabe ....
<Method>logEvent</Method>
Wie ist es möglich, den Methodennamen logEvent anstelle von logEvent als Methodennamen zu verwenden?
Vielen Dank
Frage Update:
Wenn dies etwas kompliziert erscheint, frage ich mich wirklich: Wie wird der Kontext der Methode beibehalten, die die Wrapping-Protokollierungsfunktion in log4net aufgerufen hat?
Beispiel ... Methode doWork () ... Aufrufe -> Wrapper protokollieren -> Aufrufe log4net ....
Wie machst du die methodname = doWork und NOT logging wrapper Funktion ....