Como ler as últimas "n" linhas do arquivo de log
precisa de um trecho de código que leia as últimas "n linhas" de um arquivo de log. Eu vim com o seguinte código da net.I sou meio novo para C sharp. Como o arquivo de log pode ser muito grande, desejo evitar a sobrecarga de ler o arquivo inteiro. Alguém pode sugerir algum aprimoramento de desempenho. Eurealmente não quero ler cada personagem e mude de posição.
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();