Ich habe einen log4net Appender geschrieben, der von einem Weiterleitungsappender erbt, in dem ich das loggingEvent so bearbeiten möchte, damit meine nächsten Appender die richtigen Informationen haben.Log4Net loggingEventData bearbeiten ohne messageobject zu verlieren
protected override void Append(LoggingEvent loggingEvent)
{
if (loggingEvent.MessageObject.GetType() == typeof(CustomLogObject))
{
var logentry = (CustomLogObject)loggingEvent.MessageObject;
var data = loggingEvent.GetLoggingEventData();
data.TimeStamp = logentry.toLocalTime();
data.ThreadName= logentry.url;
loggingEvent = new LoggingEvent(data);
}
base.Append(loggingEvent);
}
Dies funktioniert jedoch in Ordnung, es die ursprüngliche messageobject verliert, die in meinem anderen Satz von benutzerdefinierten Appen Probleme verursacht. Gibt es eine Möglichkeit, den Zeitstempel zu bearbeiten, ohne dass das ursprüngliche Nachrichtenobjekt verloren geht?