LogRecordSequence.ReadLogRecords Method (SequenceNumber, LogRecordEnumeratorType)


Returns an enumerable collection of records in the sequence. This method cannot be inherited.

Namespace:   System.IO.Log
Assembly:  System.IO.Log (in System.IO.Log.dll)

public IEnumerable<LogRecord> ReadLogRecords(
	SequenceNumber start,
	LogRecordEnumeratorType logRecordEnum


Type: System.IO.Log.SequenceNumber

The sequence number of the first record where the reading starts.

Type: System.IO.Log.LogRecordEnumeratorType

A valid LogRecordEnumeratorType value that specifies the manner (that is, forward or backward) in which records should be read from a LogRecordSequence.

Return Value

Type: System.Collections.Generic.IEnumerable<LogRecord>

An enumerable collection of records in the sequence.

Exception Condition

start is not valid for this sequence.


logRecordEnum is invalid.


The specified element was not found in the collection.


start is not between the base and last sequence numbers of this sequence.


The request could not be performed because of an unexpected I/O exception.


The request could not be performed because of an I/O device error.


The buffer size used to write the log record is larger than the buffer size being used to read it.


The record sequence is corrupted.


The specified log file format or version is invalid.


The record was written with an incompatible version of the record sequence.


The operation is invalid because the enumeration has not been started. A call to MoveNext must be made.


The method was called after the sequence has been disposed of.


There is not enough memory to continue the execution of the program.


Access for the specified log sequence is denied by the operating system.

This method returns an enumerable collection of records in the sequence. The order of the enumerated records depends on the value of the logRecordEnum parameter.

This example shows how to use ReadLogRecords in a loop.

foreach (LogRecord record in sequence1.ReadLogRecords(sequence1.BaseSequenceNumber, LogRecordEnumeratorType.Next))
	byte[] data = new byte[record.Data.Length];
	record.Data.Read(data, 0, (int)record.Data.Length);
	string mystr = enc.GetString(data);
	Console.WriteLine("    {0}", mystr);

.NET Framework
Available since 3.0
Return to top