Um painel de registro de texto avançado em Java para saída grande

O Mathematica vem com um programa java simples que permite inspecionar a comunicação entre o front end e o kernel. É chamadoLinkSnooper e, em geral, funciona muito bem. Se parece com isso

Acho que posso melhorar o comportamento e a usabilidade do programa até certo ponto, mas, para fazer isso, preciso reimplementar algumas partes. Uma peça fundamental de que preciso é de um painel de texto, com as seguintes propriedades:

ele pode receber muitos dados e provavelmente deve usar um buffer de anel rápido para que as primeiras linhas de log sejam removidas quando os dados crescem demais. Outra possibilidade é que ele comece automaticamente a gravar dados no disco e possivelmente os recarregue quando o usuário rola para cima para ver as primeiras entradasdeve ser capaz de lidar com texto colorido. Eu pretendo usar um marcador simples (os dados do log são realmente a sintaxe do Mathematica real) em cada linha que chega para facilitar a leituranão precisa ser gravável. Tudo bem se o painel de texto for somente leitura.

Pergunta, questão: Algo assim já existe? Atualmente, o LinkSnooper usa umJTextArea por baixo e antes de começar a escrever minha própria versão, eu queria perguntar se alguém já fez isso.

Editar:

O que eu planejava fazer era usar alguma estrutura do Logger, porque me parece natural que essas bibliotecas sejam capazes de lidar com muitos dados. Além disso, eles geralmente fornecem interfaces para formatar as mensagens e você pode definir diferentes manipuladores que podem cuidar de diferentes mensagens. O que eu esperava era que alguém já tivesse combinado isso com uma janela de texto que funcione perfeitamente e que possa lidar com grandes resultados.

questionAnswers(1)

yourAnswerToTheQuestion