Obter as últimas n linhas de um arquivo, semelhante ao tail

Estou escrevendo um visualizador de arquivo de log para um aplicativo Web e para isso quero paginar pelas linhas do arquivo de log. Os itens no arquivo são baseados em linhas com o item mais recente na parte inferior. Então, eu preciso de um tail()método que possa ler nlinhas da parte inferior e...