public LoggingEvent GetReconstructedLoggingEvent(ILoggerRepository renderingRepo)
{
LoggingEvent ret = new LoggingEvent(null, renderingRepo, null, _LoggingEvent.Level, _MessageObject, _LoggedException);
BindingFlags eFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic;
FieldInfo pi;
LoggingEventData data = _LoggingEvent.GetLoggingEventData(FixFlags.None);
//reset message so it gets rendered again
data.Message = null;
pi = ret.GetType().GetField("m_data", eFlags);
if (pi != null)
{
pi.SetValue(ret, data);
}
//reflectivly set the rest of the properties.
ret.Fix = FixFlags.Exception | FixFlags.Message;
return ret;
}