Leia um arquivo linha por linha na ordem inversa

Tenho um aplicativo java ee em que uso um servlet para imprimir um arquivo de log criado com o log4j. Ao ler arquivos de log, você geralmente procura a última linha de log e, portanto, o servlet seria muito mais útil se imprimisse o arquivo de log na ordem inversa. Meu código atual é:

    response.setContentType("text");
    PrintWriter out = response.getWriter();
    try {
        FileReader logReader = new FileReader("logfile.log");
        try {
            BufferedReader buffer = new BufferedReader(logReader);
            for (String line = buffer.readLine(); line != null; line = buffer.readLine()) {
                out.println(line);
            }
        } finally {
            logReader.close();
        }
    } finally {
        out.close();
    }

As implementações que eu encontrei na internet envolvem o uso de um StringBuffer e o carregamento de todo o arquivo antes da impressão. Não existe uma maneira simples de procurar o final do arquivo e ler o conteúdo até o início do arquiv

questionAnswers(10)

yourAnswerToTheQuestion