我已经编写了一个log4net appender,它继承了一个转发appender,我想在其中编辑loggingEvent,所以我的下一组appender拥有正确的信息。
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);
}
这样可以正常工作,它会丢失原来的messageobject,这在我的另一组自定义appender中会导致麻烦。有没有办法编辑时间戳而不会丢失原始的消息对象?
答案 0 :(得分:0)
否则您无法编辑时间戳,因为它没有设置器。看来你必须调查你的自定义appender来解决你的问题。