Geração e análise de LOGS em texto

Bom vou explicar direito para que todos possam entender, anteriormente no meu sistema eu gerava logs com minhas mensagens para o banco de dados MySQL, e nessas mensagens eu gravava a query sql utilizada inserts, updates, deletes e select, até ai tudo bem, mas como isso estava pesando muito no meu banco resolvemos realizar esse log atraves de arquivo texto, estou usando o log4j e funciona perfeitamente.
A minha ideia inicial era separar os dados com ponto-virgula ( ; ) e quando necessário passar para .csv e exportar para o banco e realizar consultas, mas e quando em um insert por exemplo tiver ( ; ) ou quebra-de-linha no meio, esse arquivo .csv vai ficar desconfigurado.

O problema é o seguinte qual a melhor forma de separar esses dados nesse arquivo .txt gerado e se tem algum analisador de logs que funcione para esse arquivo?

Mas tem que ser um analisador que consulte varios dados simultaneamente como por exemplo dados entre determinadas datas, numero de ips, essas consultas geradas, etc…

[quote=wanderman]Bom vou explicar direito para que todos possam entender, anteriormente no meu sistema eu gerava logs com minhas mensagens para o banco de dados MySQL, e nessas mensagens eu gravava a query sql utilizada inserts, updates, deletes e select, até ai tudo bem, mas como isso estava pesando muito no meu banco resolvemos realizar esse log atraves de arquivo texto, estou usando o log4j e funciona perfeitamente.
A minha ideia inicial era separar os dados com ponto-virgula ( ; ) e quando necessário passar para .csv e exportar para o banco e realizar consultas, mas e quando em um insert por exemplo tiver ( ; ) ou quebra-de-linha no meio, esse arquivo .csv vai ficar desconfigurado.

O problema é o seguinte qual a melhor forma de separar esses dados nesse arquivo .txt gerado e se tem algum analisador de logs que funcione para esse arquivo?
[/quote]

a) Você pode criar algo que “escape” esses caracteres “;” ou quebras de linha, para que não baguncem o CSV. Ou seja, antes de gravar no arquivo, transforme os “;” para alguma outra coisa, e as quebras de linha ("\n" ou “\r\n”) para um espaço (por exemplo).
b) Você poderia gravar em um formato XML (argh), mas aí é aconselhável usar as rotinas adequadas de XML, porque é necessário efetuar o “escape” dos caracteres que o XML considera como especiais e isso as rotinas que já existem no Java podem fazer por você.

certo, posso tentar fazer isso mesmo.

Mas algum analisador de logs em texto existe algum bom?

Tentei um monte mas nenhum que atendesse esse meu log.