GSF.Diagnostics.LogMessage.Save C# (CSharp) Method

Save() private method

Writes the log data to the stream
private Save ( Stream stream, LogMessageSaveHelper saveHelper = null ) : void
stream Stream
saveHelper LogMessageSaveHelper
return void
        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);
        }

Usage Example

Example #1
0
        /// <summary>
        /// Writes the specified log to the file
        /// </summary>
        /// <param name="log"></param>
        public void Write(LogMessage log)
        {
            m_tmpStream.Position = 0;
            m_tmpStream.Write(true);
            log.Save(m_tmpStream, m_saveHelper);
            long length = m_tmpStream.Position;

            m_tmpStream.Position = 0;
            m_tmpStream.CopyTo(m_zipStream, length, m_tmpBuffer);

            if (log.Level >= MessageLevel.Info)
            {
                m_zipStream.Flush();
            }

            m_logCount++;
        }
All Usage Examples Of GSF.Diagnostics.LogMessage::Save