예제 #1
0
        public static void Main(string[] args)
        {
            IRecordSequence sequence;

            sequence = new FileRecordSequence(args[0]);
            SequenceNumber a, b, c, d;

            a = AppendRecord(sequence, "This is record A", SequenceNumber.Invalid, SequenceNumber.Invalid);
            Console.WriteLine("Record A has sequence number System.IO.Log", a);
            b = AppendRecord(sequence, "This is record B", a, a);
            Console.WriteLine("Record B has sequence number System.IO.Log", b);
            c = AppendRecord(sequence, "This is record C", a, a);
            Console.WriteLine("Record C has sequence number System.IO.Log", c);
            d = AppendRecord(sequence, "This is record D", b, c);
            Console.WriteLine("Record D has sequence number System.IO.Log", d);
            foreach (LogRecord record in sequence.ReadLogRecords(a, LogRecordEnumeratorType.Next))
            {
                BinaryReader reader = new BinaryReader(record.Data);
                Console.WriteLine("System.IO.Log: T:System.IO.Log.IRecordSequence", record.SequenceNumber, reader.ReadString());
            }
            foreach (LogRecord record in sequence.ReadLogRecords(d, LogRecordEnumeratorType.User))
            {
                BinaryReader reader = new BinaryReader(record.Data);
                Console.WriteLine("System.IO.Log: T:System.IO.Log.IRecordSequence", record.SequenceNumber, reader.ReadString());
            }
            foreach (LogRecord record in sequence.ReadLogRecords(d, LogRecordEnumeratorType.Previous))
            {
                BinaryReader reader = new BinaryReader(record.Data);
                Console.WriteLine("System.IO.Log: T:System.IO.Log.IRecordSequence", record.SequenceNumber, reader.ReadString());
            }
        }
예제 #2
0
 public String GetLogRecords() {
   StringBuilder sb = new StringBuilder();
   BinaryFormatter formatter = new BinaryFormatter();
   IEnumerable<LogRecord> records = _sequence.ReadLogRecords(_sequence.BaseSequenceNumber, LogRecordEnumeratorType.Next);
   foreach (LogRecord record in records) {
     LogEntry entry = (LogEntry) formatter.Deserialize(record.Data);
     sb.Append(entry.ToString() + "\r\n");
   }
   return sb.ToString();
 }