Dúvida Java.util.logging + JAXB!

Pessoal, bom dia !

Preciso de um help vocês.
Estou usando a classe java.util.logging para alguns testes, pois pretendo utilizado no
sistema que estou desenvolvendo.
Já consegui fazer gerar o log no formato xml (customizado por mim). Também ja consigo ler o
arquivo de XML e joga-lo para um objeto no java, utilizando o método “unmarshal” da classe JAXB.
Minhas dúvidas agora são as seguintes:

- Primeira: Quando gero uma mensagem de erro onde tem várias exceptions por exemplo, ao
gerar meu xml com o log, o mesmo cria uma tag mostrando quais foram as exceptions e utilizo
um for para imprimir todas ficam igual no exemplo abaixo do meu xml:

[code]

<?xml version="1.0" encoding="windows-1252" standalone="no" ?>
  • - 2009-03-20T16:48:07 INFO exemplologger.Main gravaLog Mensagem 'Log' " - java.io.FileNotFoundException: teste_Novo (O sistema não pode encontrar o arquivo especificado) - java.io.FileInputStream open - java.io.FileInputStream - java.io.FileInputStream - exemplologger.Main gravaLog - exemplologger.Main main

[/code]
Para utilizar o “unmarshal” eu crio as classes com as anotações XML para conseguir pegar os
dados dentro do XML e grava-los no objeto. Minha dúvida é: Como consigo ler todas as
exceptions e gravar como um array dentro de um objeto ? Pois da forma que estou fazendo, o
mesmo esta gravando apenas a ultima exception no objeto.

- Segunda: Quando estiver usando o Loggin, vou gerar vários logs no dia, sendo assim ele ira
criar dentro do mesmo arquivo XML várias estruturas conforme a que coloquei acima. Portanto,
quando tento ler o xml com o unmarshal o mesmo apresenta erro, pois tenho várias estruturas
do xml e o mesmo não consegue ler. Minha dúvida: Como faço para conseguir ler quando estiver
dessa forma ? ou precisarei gerar um arquivo XML para cada mensagem de LOG ?

Aguardo um help.

Obrigado por enquanto !

Pessoal, bom dia !

Referente as duas dúvidas que tenho, a primeira eu consegui resolver, porém ainda estou com dúvida na segunda. Se alguem puder ajudar, agradeço.

1.Tive que criar as seguintes classes para poder ler o XML:

[code]public class Log {

 private Record record;  

 //Construtor...  
 //Getters e Setters  

}

public class Record {

 private Date date;  
 private String method;  
 private String level;  
 private String classe;  
 private String message;  
 private Exception exception;  
 
 //Construtor...  
 //Getters e Setters  

}

public class Exception {

 private String message;  
 private List<Frame> frame;  

 //Construtor...  
 //Getters e Setters  

}

public class Frame {

 private String classe;  
 private String method;  

 //Construtor...  
 //Getters e Setters  

}[/code]
Obs.: Se não criar as classes da forma que mostrei acima, não consigo ler o XML.
Bem, o que estava errado aqui é que na classe “Exception” não havia colocado o “Frame” como “List”. Após acertar isso, consegui ler o XML e armazenar as exceptions em um array. Marquei nessa… :smiley:

2. Esse ainda não consegui resolver. Porque o que acontece é o seguinte:
Quando mando gerar o log, o mesmo gera um arquivo xml com a seguinte estrutura:

[code]<?xml version="1.0" encoding="windows-1252" standalone="no" ?>

  • - 2009-03-20T16:48:07 INFO exemplologger.Main gravaLog Mensagem 'Log' " - java.io.FileNotFoundException: teste_Novo (O sistema não pode encontrar o arquivo especificado) - java.io.FileInputStream open - java.io.FileInputStream - java.io.FileInputStream - exemplologger.Main gravaLog - exemplologger.Main main

[/code]
Quando mando gerar novamente o log, o mesmo gera no mesmo arquivo mais uma estrutura da forma que esta acima. Sendo assim quando ler o arquivo com o “unmarshal” o mesmo da erro.
Pelo testes que estive fazendo, se ao gerar o log eu conseguisse manter o cabeçalho do XML:

[code]<?xml version="1.0" encoding="windows-1252" standalone="no" ?>


[/code]
E colocasse apenas o record no meio, ja daria certo.
Porém, minha dúvida é: como faço para o Logging gerar o XML dessa forma ? Alguem tem alguma ideia de como posso fazer isso ?

Espero ter sido claro na segunda dúvida.

Obrigado por enquanto !

E ai Pessoal, bom dia !

Ninguém sabe para me dar uma ajuda com isso ? Preciso acertar apenas a segunda dúvida, a primeira ja consegui resolver.

Aguardo e obrigado.