public SaveEventPublisherDetails ( Stream stream, LogEventPublisherDetails publisherDetails ) : void | ||
stream | Stream | |
publisherDetails | LogEventPublisherDetails | |
return | void |
public void SaveEventPublisherDetails(Stream stream, LogEventPublisherDetails publisherDetails)
{
if (publisherDetails == null)
throw new ArgumentNullException(nameof(publisherDetails));
if (m_isSimple)
{
stream.Write((byte)0);
publisherDetails.Save(stream, this);
}
else
{
int lookupId;
if (m_ownerSaveLookup.TryGetValue(publisherDetails, out lookupId))
{
stream.Write((byte)1);
stream.Write(lookupId);
}
else
{
lookupId = m_ownerSaveLookup.Count;
stream.Write((byte)3);
publisherDetails.Save(stream, this);
m_ownerSaveLookup.Add(publisherDetails, lookupId);
}
}
}
/// <summary> /// Writes the log data to the stream /// </summary> /// <param name="stream"></param> /// <param name="saveHelper"></param> internal void Save(Stream stream, LogMessageSaveHelper saveHelper = null) { if (saveHelper == null) { saveHelper = LogMessageSaveHelper.Create(true); } stream.Write((byte)4); saveHelper.SaveEventPublisherDetails(stream, EventPublisherDetails); saveHelper.SaveStackMessages(stream, InitialStackMessages); saveHelper.SaveStackTrace(stream, InitialStackTrace); saveHelper.SaveStackMessages(stream, CurrentStackMessages); saveHelper.SaveStackTrace(stream, CurrentStackTrace); stream.Write(UtcTime); LogMessageAttributes.Save(stream); saveHelper.SaveString(stream, Message); saveHelper.SaveString(stream, Details); saveHelper.SaveString(stream, ExceptionString); stream.Write(ManagedThreadID); stream.Write(PreviousFirstChanceExceptionSequenceNumber); }