нужен фрагмент кода, который будет считывать последние "n строк" файла журнала. Я придумал следующий код из сети. Я новичок в C sharp. Поскольку файл журнала может быть достаточно большой, я хочу избежать накладных расходов на чтение всего файла. Может кто-то предложить любое повышение производительности. Я не хочу читать каждый символ и менять позицию.
var reader = new StreamReader(filePath, Encoding.ASCII);
reader.BaseStream.Seek(0, SeekOrigin.End);
var count = 0;
while (count <= tailCount)
{
if (reader.BaseStream.Position <= 0) break;
reader.BaseStream.Position--;
int c = reader.Read();
if (reader.BaseStream.Position <= 0) break;
reader.BaseStream.Position--;
if (c == '\n')
{
++count;
}
}
var str = reader.ReadToEnd();