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(); } } }