Пример #1
0
        public void SaveEntry(ILogEntry Entry)
        {
            BinaryWriter _stream  = null;
            BinaryWriter _stream2 = null;

            try {
                BuildLogFile();
                _stream  = new BinaryWriter(File.Open(m_LogFile.FullName, FileMode.OpenOrCreate));
                _stream2 = new BinaryWriter(File.Open(m_IdxFile.FullName, FileMode.OpenOrCreate));
                _stream.Seek(0, SeekOrigin.End);
                _stream2.Seek(0, SeekOrigin.End);
                _stream2.Write((uint)m_LogFile.Length);
                LogData Data        = Entry.GetData();
                string  ThreadLevel = Data.m_ThreatLevel.ToString();
                string  Time        = Data.m_Timestamp.ToString("yyyy.MM.dd hh:mm:ss.fff", CultureInfo.InvariantCulture);
                string  Program     = Data.m_Programm.ToString();
                string  ErrorText   = Data.m_ErrorText.ToString();
                _stream.Write(ThreadLevel.Length);
                _stream.Write(Time.Length);
                _stream.Write(Program.Length);
                _stream.Write(ErrorText.Length);
                _stream.Write((int)0);
                _stream.Write((int)0);
                _stream.Write(ThreadLevel.ToString());
                _stream.Write(Time);
                _stream.Write(Program);
                _stream.Write(ErrorText);
                _stream.Write("");
                _stream.Write("");
                _stream.Flush();
                _stream2.Flush();
            } catch (Exception e) {
                throw e;
            } finally {
                if (_stream != null)
                {
                    _stream.Close();
                }
                if (_stream2 != null)
                {
                    _stream2.Close();
                }
            }
        }