Logando e indexando mensagens

E ai pessoal,

Surgiu um projeto por aqui, onde deveremos desenvolver alguma coisa para fazer o Log das aplicações. Vimos o Log4J, e provavelmente usaremos a idéia inicial dele para construirmos alguma coisa similar, que atenda a nossa necessidade “parruda”.

O que não nos fará usar o Log4J, é o fato de que os desenvolvedores deverão logar várias itens por entrada, não só uma mensagem, mas (no caso de erro) um código geral para este erro (que virá de um nosso dicionário de códigos), dados do servidor no momento da mensagem, ID do server, ID do cluster, do domínio, e além disso e mais coisas, um XML de uma informação N estruturada pelo programador que logar a mensagem.

Além disso, isso envolverá uma quantidade gigantesca de mensagens logadas. Temos uma aplicação que inicialmente usará este Log, que tem 16 servidores agora, e logo logo mais 4 entrarão no ar. Dá pra ter uma idéia da quantidade de mensagens que deveremos logar, para efeito de auditoria e rastreamento de erros.

Só que, todos sabemos, que se a gente grava isso para consultar depois, sabemos que temos que ter uma maneira de performática e de qualidade de se acessar estas informações. Então aí que entra a segunda parte, que seria uma indexação destas mensagens logadas.

Lucene de um lado… Compass da Opensymonphy do outro. Gostei bastante do Compass, mas ainda não está definido…

Enfim, sobre o contexto todo, a idéia de logar, o que logar, como logar, e acima de tudo, como acessar isto depois. Alguém gostaria de comentar, sugerir, ou dar uma direção?

Um abraço,